Сравнете два низа в езика за програмиране C.

Автор: Judy Howell
Дата На Създаване: 27 Юли 2021
Дата На Актуализиране: 10 Може 2024
Anonim
Уроки по С++. 7 урок. Строки и 2 мерный массив
Видео: Уроки по С++. 7 урок. Строки и 2 мерный массив

Съдържание

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

Стъпвам

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

    #include stdio.h> [[Изображение: Сравнете два низа в C Програмиране Стъпка 1 Версия 4.webp | център]] #include string.h>

  3. Започнете едно.интфункция. Това е най-лесният начин да научите тази функция, тъй като тя връща цяло число, сравняващо дължината на двата низа.

    [[Изображение: Сравнете два низа в C Програмиране Стъпка 2 Версия 4.webp | център]] #include stdio.h> [[Изображение: Сравнете два низа в C Програмиране Стъпка 3 Версия 3.webp | център]] #include string. h> int main () {}

  4. Решете кои два низа искате да сравните. В този пример сравняваме две данни char струни. Трябва също да определите връщаната стойност като цяло число.

    [[Снимка: Сравнете два низа в C Програмиране Стъпка 4 Версия 4.webp | център]] #include stdio.h> [[Изображение: Сравнете два низа в C Програмиране Стъпка 5 Версия 4.webp | център]] #include низ. h> int main () {char * str1 = "ябълка"; char * str2 = "оранжево"; int ret;}

  5. Добавете функцията за сравнение. След като сте дефинирали два низа, можете да добавите функцията за сравнение. Ние отиваме strncmp () така че трябва да се уверим, че броят на знаците за измерване е зададен във функцията.

    [[Изображение: Сравнете два низа в C Програмиране Стъпка 6 Версия 4.webp | център]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "оранжево"; int ret; ret = strncmp (str1, str2, 11); / * Сравнява двата низа с дължина до 11 знака * /}

  6. Използвайте.Ако ... Иначеза извършване на сравнението. След като създадохме функцията, използвайте Ако ... Иначе за да се определи кой низ е по-дълъг. strncmp () дава 0 в резултат, ако низовете са с еднаква дължина, положително число, ако str1 е по-дълго и отрицателно число, ако str2 е по-дълго.

    #include stdio.h> #include string.h> int main () {char * str1 = "ябълка"; char * str2 = "оранжево"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 е по-дълъг"); } иначе ако (ret 0) {printf ("str2 е по-дълъг"); } else {printf ("Двата низа са еднакви"); } return (0); }

Предупреждения

  • Не забравяйте, че връщаната стойност е 0, ако низовете са равни. Това може да обърка, защото 0 също е стойността на FALSE.