Сравнение длины строки - обычная функция в программировании на C, так как она позволяет увидеть, какая строка содержит больше символов. Это очень полезно для сортировки данных. Для сравнения строк требуется специальная функция; не используйте! = или ==.
Шаги
Шаг 1. Есть две функции, которые позволяют сравнивать строки в C
Обе эти функции включены в библиотеку.
- strcmp () - эта функция сравнивает две строки и возвращает сравнительную разницу в количестве символов.
- strncmp () - то же самое, что и strcmp (), за исключением того, что сравнивает первые n символов. Он считается более безопасным, поскольку помогает предотвратить сбои из-за переполнения.
Шаг 2. Запустите программу с необходимыми вам библиотеками
Вам понадобятся библиотеки и, а также любые другие, которые могут понадобиться для вашей конкретной программы.
#include #include
Шаг 3. Запустите
int функция.
Это самый простой способ изучить эту функцию, поскольку она возвращает целое число, которое сравнивает длину двух строк.
#include #include int main () {}
Шаг 4. Определите две строки, которые вы хотите сравнить
В этом примере мы будем сравнивать две предопределенные строки символов. Вы также захотите определить возвращаемое значение как целое число.
#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. Используйте файл
Если еще оператор для выполнения сравнения.
Теперь, когда у вас есть функция, вы можете использовать оператор If… Else, чтобы показать, какая строка длиннее. strncmp () вернет 0, если строки одинаковой длины, положительное число, если str1 больше, и отрицательное число, если str2 больше.
#include #include int main () {char * str1 = "яблоко"; char * str2 = "оранжевый"; int ret; ret = strncmp (str1, str2, 6); если (ret> 0) {printf ("str1 длиннее"); } else if (ret <0) {printf ("str2 длиннее"); } else {printf ("Две строки равны"); } return (0); }