Как правильно считать строку для сравнения? - C (СИ)
Формулировка задачи:
как правильно считать строку для сравнения ?
Решение задачи: «Как правильно считать строку для сравнения?»
textual
Листинг программы
#include <stdio.h> int str_compare (char *str1, char *str2){ int i; for (i = 0;; i++){ if (str1[i] == '\0' && str2[i] == '\0') return 1; else if (str1[i] != '\0' && str2[i] != '\0') if (str1[i] != str2[i]) return 0; else continue; else return 0; } } void main (){ char *str1 = "string"; char *str2 = "string"; if (str_compare (str1, str2) == 1) puts ("yes"); else puts ("no"); }
Объяснение кода листинга программы
- Включаем файл стандартного ввода/вывода
- Функция str_compare принимает два указателя на символы (char str1, char str2) и возвращает 1, если строки равны, и 0 в противном случае.
- Внутри функции объявлена переменная i типа int, которая будет использоваться в цикле.
- Используется цикл for с условием продолжения, которое выполняется до тех пор, пока оба символа не станут нулевыми.
- Если оба символа нулевые, функция возвращает 1.
- Если оба симвома не нулевые, функция сравнивает их. Если они не равны, функция возвращает 0.
- Если один из символов равен нулю, функция возвращает 0.
- В конце функции используется return 0.
- В функции main создаются две переменные типа char* (строки) str1 и str2, которые содержат одинаковые значения
string
. - Вызывается функция str_compare с аргументами str1 и str2.
- Результат функции приравнивается к 1, то есть обе строки равны.
- Выводится сообщение
yes
с помощью функции puts.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д