在线编译器 C

#include <stdio.h> int main() { int unsigned num; int max=0; int min=9; scanf("%u",&num); while(num>0){ int d=num%10; num=num/10; if(d>=max){ max=d;} if(d<=min){ min=d; } return 0; } printf("%d %d",min,max) }
这段代码的目的是读取一个无符号整数,找出它的各位数字中的最小值和最大值,并输出。但代码中存在几个问题,导致它无法正确运行。

- 在 while 循环内部,你写了一个 `return 0;` 语句,这会导致循环只执行一次就结束程序,后面的 `printf` 永远不会执行。`return 0;` 应该放在循环结束之后、`printf` 之后的位置。
- 最后一行 `printf` 语句末尾缺少分号,会导致编译错误。