Содержание
Сравнение длины строки - это часто используемая функция в языке программирования C, поскольку она позволяет узнать, какая строка содержит больше символов. Это очень полезно для сортировки данных. Для сравнения строк требуется специальная функция; так что не используйте: != или же ==.
Шагать
- Есть две функции, которые позволяют сравнивать строки в C. Оба включены в строка.h>библиотека кода.
- strcmp () - Эта функция сравнивает две строки и возвращает разницу в количестве символов.
- strncmp () - Это также относится к strcmp (), за исключением того, что это первый п сравнивает персонажей. Он считается более безопасным, поскольку помогает предотвратить сбои при переполнении.
- Запустите программу с необходимыми библиотеками. У вас есть обе библиотеки stdio.h> а также строка.h> вместе с другими библиотеками, которые могут вам понадобиться для вашей программы.
#include stdio.h> [[Изображение: сравнение двух строк в программировании на C, шаг 1, версия 4.webp | center]] #include string.h>
- Начни один.intфункция. Это самый простой способ изучить эту функцию, поскольку она возвращает целое число, сравнивая длину двух строк.
[[Изображение: Сравнение двух строк в программе на C, шаг 2, версия 4.webp | center]] #include stdio.h> [[Изображение: сравнение двух строк в программе на C, шаг 3, версия 3.webp | center]] #include string. h> int main () {}
- Решите, какие две строки вы хотите сравнить. В этом примере мы сравниваем два данных символ струны. Вы также должны определить возвращаемое значение как целое число.
[[Изображение: Сравнение двух строк в программе на C, шаг 4, версия 4.webp | center]] #include stdio.h> [[Изображение: сравнение двух строк в программе на C, шаг 5, версия 4.webp | center]] #include string. h> int main () {char * str1 = "яблоко"; char * str2 = "апельсин"; int ret;}
- Добавьте функцию сравнения. Теперь, когда вы определили две строки, вы можете добавить функцию сравнения. Мы идем strncmp () поэтому нам нужно убедиться, что количество измеряемых символов установлено в функции.
[[Изображение: сравнение двух строк в программе на C, шаг 6, версия 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "апельсин"; int ret; ret = strncmp (str1, str2, 11); / * Сравнивает две строки длиной до 11 символов * /}
- Использовать.Если ещедля сравнения. Теперь, когда мы создали функцию, используйте Если еще чтобы определить, какая строка длиннее. strncmp () дает 0 в результате, если строки имеют одинаковую длину, положительное число, если str1 длиннее, и отрицательное число, если str2 длиннее.
#include stdio.h> #include string.h> int main () {char * str1 = "яблоко"; char * str2 = "апельсин"; int ret; ret = strncmp (str1, str2, 11); если (ret> 0) {printf ("str1 длиннее"); } else if (ret 0) {printf ("str2 длиннее"); } else {printf ("Две строки одинаковы"); } return (0); }
Предупреждения
- Помните, что возвращаемое значение - 0, если строки равны. Это может сбивать с толку, потому что 0 также является значением FALSE.