在线编译器 C

#include <stdio.h> void print_digits_reverse(int n) { if (n == 0) return; printf("%d ", n % 10); print_digits_reverse(n / 10); }
这段代码定义了一个递归函数 `print_digits_reverse`,它接收一个整数 `n`,并按照从个位到最高位的顺序输出每一位数字,数字之间用空格分隔。递归的基本情况是当 `n` 为 0 时直接返回,否则先输出当前数字的最后一位(`n % 10`),然后递归调用自身处理去掉最后一位后的数字(`n / 10`)。

- 当输入 `n` 为 0 时,函数会直接返回而不输出任何内容。如果希望输出数字 0 本身,需要单独处理这种情况,因为当前代码中 `n == 0` 被当作终止条件,不会输出任何数字。
- 递归调用 `print_digits_reverse(n / 10)` 放在 `printf` 之后,这保证了先输出低位数字,再处理高位数字,从而实现逆序输出。如果希望改变输出顺序,可以调整这两条语句的顺序。