Написание функции сравнения строк - C (СИ)
Формулировка задачи:
Всем привет!Помогите написать функцию сравнения строк!!!
Решение задачи: «Написание функции сравнения строк»
textual
Листинг программы
int mystrcmp(const char * a, const char * b) {
return ( *a && *a == *b ) ? mystrcmp(a + 1, b + 1) : *a - *b;
}
Объяснение кода листинга программы
В данном коде реализована функция mystrcmp(), которая выполняет сравнение двух строк a и b.
int mystrcmp(const char * a, const char * b)— объявление функции mystrcmp, которая принимает два указателя на строки a и b.return ( *a && *a == *b ) ? mystrcmp(a + 1, b + 1) : *a — *b;— возвращаемое значение функции.*a && *a == *b— проверка на продолжение сравнения (если первый символ не равен нулю), а также сравнение первых символов двух строк.mystrcmp(a + 1, b + 1)— рекурсивный вызов функции для продолжения сравнения следующих символов.*a — *b— если первые символы равны, возвращается разница между ними.- Если первые символы не равны, то происходит рекурсивный вызов функции для сравнения следующих символов.
- Результатом работы функции является число, которое показывает, какая строка идет первой в алфавитном порядке (меньше или больше). Если значения равны, то возвращается 0.