Ввести строку, вывести пословно на экран, но слова в обратном порядке - 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 с пробелом в конце. Список элементов кода:

  1. Включение необходимых заголовочных файлов: stdio.h и string.h.
  2. Объявление функции prw.
  3. Проверка условия: если s не равно NULL, то вызывается рекурсивно функция prw с аргументами NULL и delim, и выводится s с пробелом в конце.
  4. В основной функции main создаётся строка any many money more и передаётся в функцию prw с аргументом \t\n.
  5. Выход из функции main с возвращаемым значением 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы