Сравняването на дължини на низове е често използвана функция в програмирането на C, защото може да ви каже кой низ има повече знаци. Тази функция е много полезна при сортиране на данни. Сравняването на низове изисква специална функция; не използвайте! = или ==.
Стъпка

Стъпка 1. Има 2 типа функции, които можете да използвате за сравняване на низове на език C
И двете функции са включени в библиотеката.
- strcmp (): Тази функция сравнява два низа и връща резултата от сравняване на броя на знаците между тях.
- strncmp (): Тази функция е същата като strcmp (), освен че сравнява първите n} символа в низа. Тази функция се счита за по -безопасна, тъй като предотвратява спирането на програмата поради претоварване.

Стъпка 2. Стартирайте програмата с необходимите ви библиотеки
Препоръчваме ви да стартирате и заедно с всички други библиотеки, от които се нуждаете за определена програма.
#включи #включи

Стъпка 3. Изпълнете функция
int. Това е най -лесният начин да научите тази функция, защото тя връща целочислената стойност на сравнение на броя знаци в два низа.
#include #include int main () {}

Стъпка 4. Определете двата низа, които искате да сравните
Например, ние ще сравним 2 низа от тип char данни, които са дефинирани по -рано. Можете също така да дефинирате стойността, върната от тази функция, за да има тип данни цяло число.
#include #include int main () {char *str1 = "ябълка"; char *str2 = "оранжево"; int ret; }

Стъпка 5. Добавете функция за сравнение
След като определите тези два низа, можете да добавите функция за сравнение. Ще използваме strncmp (), така че трябва да се уверим, че броят на знаците за измерване е настроен във функцията.
#include #include int main () {char *str1 = "ябълка"; char *str2 = "оранжево"; int ret; ret = strncmp (str1, str2, 6); / *Тази функция ще сравнява и двата „низа“от 6 знака */}

Стъпка 6. Използвайте изявления
Ако … Иначе направете сравнението. След като добавите функция към програмата си, можете да използвате изявление, за да покажете кой низ има повече знаци. strncmp () ще върне 0, ако низовете имат същия брой знаци, положително число, ако str1 е по -дълго и отрицателно число, ако str2 е по -дълго.
#include #include int main () {char *str1 = "ябълка"; char *str2 = "оранжево"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 е по -дълъг"); } else if (ret <0) {printf ("str2 е по -дълъг"); } else {printf ("И двата низа са с еднаква дължина"); } return (0); }