Онлайн компилятор C

#include <stdio.h> void rec(int n) { printf("%5d", n); if (n > 0) rec(n - 1); printf("%5d", n); } int main(void) { rec(3); return 0; }
1) Данный код демонстрирует работу рекурсивной функции `rec`. При вызове `rec(3)` функция сначала выводит переданное число, затем вызывает саму себя с аргументом, уменьшенным на единицу (если число больше нуля), и после завершения рекурсивного вывода снова выводит исходное число. Это приводит к симметричному выводу чисел.

2) Подсказки:
- Обрати внимание на порядок операций `printf` и рекурсивного вызова. Это классический пример рекурсии с действием до и после рекурсивного шага.
- Попробуй мысленно "развернуть" выполнение функции для `rec(3)`, записывая значения `n` на каждом уровне рекурсии и отслеживая, когда срабатывает каждый `printf`.