Как да сравня два реда в езика за програмиране c
В софтуерни кодове, написани в C, често често сравняват дължината на низ, за да разберете коя линия съдържа повече знаци. Това е полезно за сортиране на данни. За сравнение на струните се изисква специална функция - не използвайте != или ==.
Стъпка
един. Езикът за програмиране с включването на две функции, с които можете да сравните дължините на низ. И двете функции са включени в библиотеката .
- Strcmp () - Тази функция сравнява две линии и връща разликата в броя на знаците.
- Strncmp () - Тази функция е подобна на функцията Strcmp () с изключение на това, че първо се сравнява Н Символи. Той се счита за по-сигурен, защото избягва неуспехите поради преливите.
2. Стартирайте програмата от необходимите библиотеки. Ще ви трябват библиотеки и , както и всякакви други библиотеки, необходими за вашата конкретна програма.
#Include[[Image: Сравнете две низове в C Програмиране Стъпка 1 Версия 4.JPG | Център]] # включва
3. Въведете функция int. Тя връща цяло число в резултат на сравняване на дължината на две линии.
[Image: сравнете две струни в c programming стъпка 2 версия 4.JPG | Център]] # включва[[Изображение: сравнете две низове в c programming стъпка 3 версия 3.JPG | Център]] # включва int Main () {}
4. Определете двете линии, които искате да сравните. В нашия пример ние сравняваме два реда с типа Char. Също така определя стойността на връщане като цяло число.
[[Image: Сравнете две низове в C Програмиране Стъпка 4 Версия 4.JPG | Център]] # включва[[Image: Сравнете две низове в C Програмиране Стъпка 5 Версия 4.JPG | Център]] # включва int main () {char * str1 = "Apple"-Char * str2 = "Оранжево"-Int ret-}
пет. Въведете функцията за сравнение. В нашия пример използваме функцията Strncmp (). Тя трябва да зададе броя на измерените символи.
[[Изображение: сравнете две низове в C Programming Step 6 Версия 4.JPG | Център]] # включва#Include int main () {char * str1 = "Apple"-Char * str2 = "Оранжево"-Int ret-ret = strncmp (str1, str2, 8) - / * сравнява две линии, чичката от която не надвишава 8 знака * /}
6. Въведете условен оператор Ако имаш ... Друго. Необходимо е да се покаже какъв низ е по-дълъг. Функция Strncmp () Върнете номера 0, Ако струните са еднакви, положително число, ако str1 е по-дълъг и отрицателен брой, ако str2 е по-дълъг.
#Include#Include int main () {char * str1 = "Apple"-Char * str2 = "Оранжево"-Int ret-ret = strncmp (str1, str2, 8) -аф (Ret> 0) {printf ("Str1 е по-дълго") -} иначе, ако (Ret < 0){printf("str2 длиннее")-}else{printf("Длины строк равны")-}return(0)-}
Предупреждения
- Не забравяйте, че ако дължините на струните са равни, стойността на 0 ще се върне. Тя може да ви обърка, защото 0 е и стойността на False (False).