在线编译器 C

#include <stdio.h> int main() { int N; scanf("%d", &N); if (N==0){printf("0")}; else if (N>0) { printf("%d ",N%10); N/=10; } return 0; }
这段代码试图输出一个整数的最后一位数字,但逻辑不完整。它只处理了N等于0和N大于0的情况,而且对于正数只输出一次个位数,没有循环处理所有位数。

- 你的代码中,`if (N==0){printf("0")};` 这一行末尾缺少了一个分号,导致编译错误。注意每个语句结束后都要有分号。
- 对于正数,你只输出了一次个位数并除以10,但没有用循环结构(比如while或for)来重复这个过程,所以只能输出一位数字。思考如何让程序重复执行“输出个位、除以10”这个操作,直到N变成0。