Написать программу, содержащую две функции, сравнения строк, эквивалентные стандартной функции strcmp - C (СИ)
Формулировка задачи:
Добрый вечер, многоуважаемые гуру программирования. Прошу помочь написать одну программу, собственно, вот она: "Написать программу, содержащую две пользовательские функции сравнения строк, эквивалентные стандартной функции strcmp. Первая из них должна использовать индексацию массива, вторая – указатели и арифметические операции с ними." На форуме уже есть похожая тема(Написать функции сравнения строк, эквивалентные стандартной функции strcmp), в ней скинули ссылку на другую тема, в которой есть решение данной задачи, но я, к сожалению, не с мог в ней разобраться. Если кто то может объяснить или знает, как написать эту программу, пожалуйста помогите, буду очень признателен, заранее спасибо.
Решение задачи: «Написать программу, содержащую две функции, сравнения строк, эквивалентные стандартной функции strcmp»
textual
Листинг программы
#include <stdio.h> int mystrcmp(const char * a, const char * b) { return ( *a && *a == *b ) ? mystrcmp(a + 1, b + 1) : *a - *b; } int main(void) { char sA[BUFSIZ], sB[BUFSIZ]; while ( printf("First: ") && fgets(sA, BUFSIZ, stdin) && *sA != '\n' && printf("Second: ") && fgets(sB, BUFSIZ, stdin) ) { int d = mystrcmp(sA, sB); printf("%s\n", ( d < 0 ) ? "First less" : ( d > 0 ) ? "Second less" : "The same"); } return 0; }
Объяснение кода листинга программы
- Программа содержит две функции: mystrcmp и main.
- Функция mystrcmp реализует алгоритм сравнения строк, аналогичный функции strcmp.
- В функции mystrcmp используется рекурсивный подход для сравнения строк.
- В функции main создаются две буферные строки sA и sB для ввода пользователем.
- В цикле while программа запрашивает у пользователя ввод двух строк и сохраняет их в буферных строках sA и sB.
- Затем программа вызывает функцию mystrcmp для сравнения строк и сохраняет результат в переменной d.
- В зависимости от значения d программа выводит сообщение о том, какая строка меньше.
- Цикл while продолжается до тех пор, пока пользователь не введет две пустые строки.
- Программа завершается возвратом значения 0 из функции main.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д