Ввести строку, вывести пословно на экран, но слова в обратном порядке - C (СИ) (74560)
Формулировка задачи:
если можно, с комментариями:
Ввести строку, вывести пословно на экран, но слова в обратном порядке.
Решение задачи: «Ввести строку, вывести пословно на экран, но слова в обратном порядке»
textual
Листинг программы
#include <stdio.h> #include <string.h> void prw(char * s, const char * delim) { if ( s = strtok(s, delim) ) { prw(NULL, delim); printf("%s ", s); } } int main(void) { char str[] = "any many money more"; prw(str, " \t\n"); return 0; }
Объяснение кода листинга программы
В данном коде реализована функция prw
, которая принимает два аргумента: указатель на строку s
и указатель на строку-разделитель delim
. Если s
не равно NULL
, то функция вызывает саму себя, передавая в качестве аргумента NULL
и delim
, и выводит s
с пробелом в конце.
Список элементов кода:
- Включение необходимых заголовочных файлов:
stdio.h
иstring.h
. - Объявление функции
prw
. - Проверка условия: если
s
не равноNULL
, то вызывается рекурсивно функцияprw
с аргументамиNULL
иdelim
, и выводитсяs
с пробелом в конце. - В основной функции
main
создаётся строкаany many money more
и передаётся в функциюprw
с аргументом\t\n
. - Выход из функции
main
с возвращаемым значением 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д