在线编译器 C

#include <stdio.h> void print_1_to_n(int n) { if (n == 0) { return; } print_1_to_n(n - 1); printf ("%d",n); } int main() { printf("Hello, World!\n"); return 0; }
这段代码定义了一个递归函数 `print_1_to_n`,它的目标是从1打印到n。但 `main` 函数中并没有调用这个函数,所以程序只会输出 "Hello, World!"。

- 在 `main` 函数中,你需要调用 `print_1_to_n` 并传入一个参数,比如 `print_1_to_n(5);`,这样递归才会执行并打印数字。
- 注意递归的终止条件是 `n == 0`,但当前打印的数字是从1开始递增的,因为递归调用在打印之前先深入到底层,然后回溯时打印。检查一下打印格式,是否需要在数字之间加空格或换行。