Online Compiler C

#include <stdio.h> int main() { int x, digit; scanf("%d", &x); while (x >= 0) { digit = x % 10; printf("%d", digit); x = x / 10; } return 0; }
这段代码的作用是读取一个整数,然后从个位开始逐位输出它的每一位数字。例如输入123,会输出321。

- 你的循环条件是x >= 0,这意味着当x变成0时循环还会继续执行一次,输出一个多余的0。考虑一下当x为0时,你希望程序输出什么?循环条件应该怎样调整才能正确处理0的情况?
- 另外,如果输入的是负数,程序会直接跳过循环不输出任何内容。思考一下,如果输入负数,你希望程序做什么?是否需要处理这种情况?