Сравнение длин строк - это часто используемая функция в программировании на C, потому что она может сказать вам, в какой строке больше символов. Эта функция очень полезна при сортировке данных. Для сравнения строк требуется специальная функция; не используйте! = или ==.
Шаг
Шаг 1. Есть 2 типа функций, которые вы можете использовать для сравнения строк на языке C
Обе эти функции включены в библиотеку.
- strcmp (): эта функция сравнивает две строки и возвращает результат сравнения количества символов между ними.
- strncmp (): эта функция аналогична strcmp (), за исключением того, что она сравнивает первые n} символов в строке. Эта функция считается более безопасной, поскольку она предотвращает остановку программы из-за перегрузки.
Шаг 2. Запустите программу с нужными вам библиотеками
Мы рекомендуем вам запускать и вместе с любыми другими библиотеками, которые вам понадобятся для конкретной программы.
#include #include
Шаг 3. Запустите функцию
внутр. Это самый простой способ изучить эту функцию, потому что она возвращает целочисленное значение сравнения количества символов в двух строках.
#include #include int main () {}
Шаг 4. Определите две строки, которые вы хотите сравнить
Например, мы сравним 2 строки данных типа char, которые были определены ранее. Вы также можете определить значение, возвращаемое этой функцией, чтобы иметь целочисленный тип данных.
#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. Используйте утверждения
Если… Остальное для сравнения. После добавления функции в программу вы можете использовать оператор, чтобы отобразить, в какой строке больше символов. 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); }