Как да сравня два реда в езика за програмиране 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).
    Подобни публикации