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

#include <stdio.h> void print_n_to_1(int n) { if (n == 1) { printf("1 "); return; } else { printf("%d ", n); print_n_to_1(n - 1); } } int main() { print_n_to_1(7); return 0; }
这段代码定义了一个递归函数 `print_n_to_1`,它从给定的整数 n 开始,依次打印 n、n-1、... 直到 1,每个数字后面跟一个空格。在 `main` 函数中,它调用 `print_n_to_1(7)`,所以输出是 "7 6 5 4 3 2 1 "。

- 注意递归的终止条件是 `n == 1`,此时打印 "1 " 并返回,不再继续递归。
- 递归调用 `print_n_to_1(n - 1)` 在打印当前数字之后进行,这保证了数字从大到小输出。