Online Compiler C

#include <stdio.h> int main() { int x, b, c, a, sum; scanf("%d", &x); a = x / 100; b = (x % 100) / 10; c = x % 10; sum=a; if(b>sum)sum=b; if(c>sum)sum=c; printf("%d", sum); return 0; }
这段代码的作用是:读入一个三位整数,然后找出它的百位、十位、个位三个数字中最大的那个,并输出。

- 变量命名不够清晰,`a`、`b`、`c` 分别代表百位、十位、个位,但 `sum` 这个名字容易让人误解为求和,实际上它存储的是最大值。
- 代码逻辑正确,但可以思考一下:如果输入的数字不是三位数(比如两位数或四位数),程序会怎样?题目是否要求只处理三位数?