Онлайн компилятор C

#include <stdio.h> void print_digits_reverse(int n){ if(n<10){ return; }n=n%10; } int main() { int x; scanf("%d",&x); print_digits_reverse(x); return 0; }
这段代码试图实现一个递归函数来逆序打印数字的各位,但目前功能不完整。

- 递归函数 `print_digits_reverse` 中,当 `n<10` 时直接返回,没有打印任何内容,这导致无法输出最后一位数字。
- 在 `n=n%10` 之后,函数就结束了,没有递归调用自身来处理剩余的高位数字,也没有打印当前取出的最低位。

提示:
- 思考递归的“递”和“归”过程:应该在递归调用之前还是之后打印当前位,才能实现逆序输出?
- 注意递归的终止条件:当 n 只有一位数时,应该先打印这一位再返回,而不是直接返回。