Online Compiler C

#include <stdio.h> int main() { int N; scanf("%d", &N); if (N==0) {printf("0")}; else while (N>0) { printf("%d ",N%10); N/=10; } return 0; }
这段代码的作用是:读入一个整数 N,然后从个位开始逐位输出它的每一位数字,每个数字后面跟一个空格。如果 N 为 0,则只输出一个 0。

代码中存在一个语法错误,导致无法编译通过。

- 第 7 行的 `{printf("0")};` 中,大括号后面多了一个分号,应该去掉这个分号,或者调整大括号的位置,使 if-else 结构正确。
- 注意 while 循环的条件是 `N>0`,当 N 为负数时不会输出任何内容,但题目可能只考虑非负整数。