Online Compiler C

#include <stdio.h> int main() { int n; scanf("%d", &n); int min, max; min=max=n%10 while (n > 0) { int last = n % 10; if (last<min)min=last; if (last>max)max=last; n /= 10; } printf("%d ,%d",max, min); return 0; }
这段代码的目的是读取一个整数,然后找出这个整数的各位数字中的最大值和最小值,并输出。代码的基本思路是循环取出每一位数字,并更新最大值和最小值。

代码中存在一个明显的语法错误,导致程序无法编译运行。

- 第7行 `min=max=n%10` 缺少分号,需要在末尾加上分号。
- 另外,当输入的整数为0时,循环不会执行,此时 `min` 和 `max` 没有被正确初始化,会输出未定义的值。你需要考虑如何处理输入为0的情况。