在线编译器 C

#include <stdio.h> int main() { int n; scanf("%d", &n); int min-d max-d; while (n > 0) { int last = n % 10; // 3 if (last<min-d)min-d=last; if (last>max-d)max-d=last n /= 10; } printf("%d %d",max-d min-d); return 0; }
这段代码试图找出一个整数各位数字中的最小值和最大值,但存在语法错误和逻辑问题。

- 第5行声明变量时使用了 `int min-d max-d;`,C语言中变量名不能包含减号 `-`,减号会被解释为减法运算符。应该使用下划线 `_` 或其他合法字符。
- 第8行和第9行的条件语句中,同样错误地使用了 `min-d` 和 `max-d`,并且第9行末尾缺少分号。
- 第13行的 `printf` 中,参数之间缺少逗号分隔符。