在线编译器 C

#include <stdio.h> void print_1_to_n(int n) { if (n<1){ return; } print_1_to_n(n-1); printf("%d\n",n); }
这段代码定义了一个递归函数 `print_1_to_n`,它的功能是打印从 1 到 n 的所有整数,每个数字占一行。函数先检查 n 是否小于 1,如果是则直接返回(递归的终止条件),否则先递归调用自身打印 1 到 n-1,然后再打印当前的 n。这样利用递归的“先递后归”特性,实现了从小到大的顺序输出。

- 注意递归的终止条件:当 n 小于 1 时,函数直接返回,不再继续递归。这个条件确保了递归不会无限进行下去。
- 思考一下:如果调用 `print_1_to_n(0)` 或 `print_1_to_n(-5)`,函数会做什么?这可能会影响你期望的输出行为。