Порівняйте два рядки мовою програмування C.

Автор: Judy Howell
Дата Створення: 27 Липня 2021
Дата Оновлення: 10 Травень 2024
Anonim
Програмування на мові C #4
Відеоролик: Програмування на мові C #4

Зміст

Порівняння довжини рядка - це загальновживана функція в мові програмування С, оскільки вона дозволяє з’ясувати, який рядок містить більше символів. Це дуже корисно для сортування даних. Порівняння рядків вимагає спеціальної функції; тому не використовуйте: != або ==.

Крок

  1. Є дві функції, які дозволяють порівнювати рядки в C. Обидва вони включені в string.h>бібліотека коду.
    • strcmp () - Ця функція порівнює два рядки і повертає різницю в кількості символів.
    • strncmp () - Це також стосується strcmp (), за винятком того, що цей перший n порівнює символи. Він вважається більш безпечним, оскільки допомагає запобігти аварійному завершенню роботи.
  2. Запустіть програму з необхідними бібліотеками. У вас є обидві бібліотеки stdio.h> і string.h> разом з іншими бібліотеками, які можуть знадобитися для вашої програми.

    #include stdio.h> [[Зображення: Порівняйте два рядки в програмуванні на Крок Крок 1 Версія 4.webp | центр]] #include string.h>

  3. Почніть один.інтфункція. Це найпростіший спосіб вивчити цю функцію, оскільки вона повертає ціле число, порівнюючи довжину двох рядків.

    [[Зображення: Порівняння двох рядків у програмуванні на Крок 2, версія 4.webp | центр]] #include stdio.h> [[Зображення: Порівняння двох рядків у програмуванні на Крок 3, версія 3.webp | центр]] #include string. h> int main () {}

  4. Вирішіть, які два рядки ви хочете порівняти. У цьому прикладі ми порівнюємо два дані char струни. Ви також повинні визначити повернене значення як ціле число.

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

  5. Додайте функцію порівняння. Тепер, коли ви визначили два рядки, ви можете додати функцію порівняння. Ми йдемо strncmp () тому нам потрібно переконатися, що кількість символів для вимірювання встановлюється в межах функції.

    [[Зображення: Порівняйте два рядки у програмуванні на Крок 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 = "apple"; 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.