Online Compiler C

#include <stdio.h> void print_digits_reverse(int n){ if(n==0){ printf("0") return ; } int digit = n%10; printf("%d",digit); if(n/10!=0){ printf(" "); print_digits_reverse(n/10); } }
这段代码定义了一个递归函数 `print_digits_reverse`,它的目标是将一个整数的各位数字从低位到高位(即逆序)打印出来,数字之间用空格分隔。例如输入 1234,会输出 "4 3 2 1"。但代码中存在一个语法错误。

- 在第6行 `printf("0")` 后面缺少分号,导致编译错误。每个C语句必须以分号结束。
- 另外,当输入为0时,函数会打印 "0" 然后返回,但按照题目逻辑,如果输入是0,可能只需要打印一个0,不需要空格,这个处理是合理的。不过要注意,如果输入是负数,代码没有处理,但可能不在当前任务范围内。