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

Автор: Judy Howell
Дата создания: 27 Июль 2021
Дата обновления: 10 Май 2024
Anonim
Язык Си(С). Ввод строки с консоли, вывод, сравнение строк.
Видео: Язык Си(С). Ввод строки с консоли, вывод, сравнение строк.

Содержание

Сравнение длины строки - это часто используемая функция в языке программирования C, поскольку она позволяет узнать, какая строка содержит больше символов. Это очень полезно для сортировки данных. Для сравнения строк требуется специальная функция; так что не используйте: != или же ==.

Шагать

  1. Есть две функции, которые позволяют сравнивать строки в C. Оба включены в строка.h>библиотека кода.
    • strcmp () - Эта функция сравнивает две строки и возвращает разницу в количестве символов.
    • strncmp () - Это также относится к strcmp (), за исключением того, что это первый п сравнивает персонажей. Он считается более безопасным, поскольку помогает предотвратить сбои при переполнении.
  2. Запустите программу с необходимыми библиотеками. У вас есть обе библиотеки stdio.h> а также строка.h> вместе с другими библиотеками, которые могут вам понадобиться для вашей программы.

    #include stdio.h> [[Изображение: сравнение двух строк в программировании на C, шаг 1, версия 4.webp | center]] #include string.h>

  3. Начни один.intфункция. Это самый простой способ изучить эту функцию, поскольку она возвращает целое число, сравнивая длину двух строк.

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

  4. Решите, какие две строки вы хотите сравнить. В этом примере мы сравниваем два данных символ струны. Вы также должны определить возвращаемое значение как целое число.

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

  5. Добавьте функцию сравнения. Теперь, когда вы определили две строки, вы можете добавить функцию сравнения. Мы идем 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 символов * /}

  6. Использовать.Если ещедля сравнения. Теперь, когда мы создали функцию, используйте Если еще чтобы определить, какая строка длиннее. 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.