这段代码定义了一个递归函数 `print_1_n`,它接收一个整数 `n`,如果 `n` 等于 0 则返回,否则先递归调用自身打印 `1` 到 `n-1`,再打印当前的 `n`。因此 `main` 中调用 `print_1_n(5)` 会输出 `1 2 3 4 5`。 - 注意递归的终止条件:当 `n` 为 0 时函数直接返回,不再打印任何数字。这确保了递归不会无限进行。 - 观察递归调用的顺序:先递归调用 `print_1_n(n-1)`,再打印 `n`,所以数字是从小到大依次输出的。如果交换这两行的顺序,输出结果会变成从大到小。