Онлайн компилятор C

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

代码中有一个语法错误:在 `max=x` 这一行缺少了分号。

- 检查 `max=x` 这一行,C语言中每条语句末尾都需要分号。
- 思考一下,如果输入的数字不是三位数(比如两位数或四位数),程序会得到正确的结果吗?