Написать функцию, принимающую на вход строку, и выводящую ее на экран наоборот - C (СИ)
Формулировка задачи:
написать функцию принимающую на вход строку и выводящую ее на экран наоборот
Заранее огромное спасибо
Решение задачи: «Написать функцию, принимающую на вход строку, и выводящую ее на экран наоборот»
textual
Листинг программы
#include <stdio.h>
void printrev(const char* p) {
if (*p) {
printrev(p + 1);
putchar(*p);
}
}
int main() {
printrev("Hello World");
return 0;
}
Объяснение кода листинга программы
- Включаем библиотеку stdio.h, которая содержит функции для ввода-вывода данных
- Создаем функцию printrev(const char* p), которая принимает на вход указатель на строку символов
- Проверяем, что первый символ не равен нулю (иначе при попытке выйти за пределы строки произойдет ошибка)
- Рекурсивно вызываем функцию printrev(p + 1), передавая указатель на следующий символ в строке
- Выводим на экран первый символ строки, используя функцию putchar()
- Завершаем рекурсивный вызов, если достигнут конец строки (первый символ равен нулю)
- Вызываем функцию printrev() с аргументом
Hello Worldв функции main() - Возвращаем 0 из функции main(), что означает успешный конец работы программы