Online Compiler C

#include <stdio.h> void print_n_to_1(int n){ if (n<1){ return; } printf("%d ",n); print_n_to_1(n-1); }
这段代码定义了一个递归函数 `print_n_to_1`,它接收一个整数 `n`,然后从 `n` 开始递减打印到 1。函数首先检查 `n` 是否小于 1,如果是则返回(递归终止条件),否则打印当前 `n` 的值,再递归调用自身打印 `n-1`。

- 注意递归的终止条件是 `n < 1`,这意味着当 `n` 等于 0 时也会触发返回。如果希望只打印到 1,可以思考当 `n` 等于 0 时是否应该提前停止,或者是否应该调整条件为 `n <= 0` 或 `n == 0`。
- 当前代码在 `n` 为负数时也会直接返回,不会打印任何内容。如果输入是 0,函数也不会打印任何数字。你可以考虑是否要处理这些边界情况。