在线编译器 C

#include <stdio.h> void print_1_to_n(int n) { if (n == 1) { printf("%d", n); return; } print_1_to_n(n - 1); printf("%d", n); }
这段代码定义了一个递归函数 `print_1_to_n`,它的功能是打印从1到n的所有整数。函数先递归调用自身处理n-1,然后打印当前的n,当n等于1时直接打印并返回。

- 注意递归的终止条件是 `n == 1`,但函数没有处理n小于1的情况。如果传入0或负数,递归会无限进行下去,导致栈溢出。
- 函数在打印数字时没有添加空格或换行,所有数字会连在一起输出,例如输入3会输出"123"。考虑是否需要添加分隔符让输出更清晰。