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

#include <stdio.h> int main() { int a,b,c,max; scanf("%d%d%d",&a,&b,&c); if (a>b&&a>c) {max=a; } if (b>a&&b>c) {max=b; } if (c>a&&c>b) {max=c; } printf("%d\n ",max); return 0; }
这段代码的功能是从用户输入的三个整数中找出最大值并输出。它使用了三个独立的 if 语句来分别判断 a、b、c 是否为最大值。

- 代码没有处理两个或三个数相等的情况。例如,当 a 和 b 相等且都大于 c 时,所有 if 条件都不成立,max 变量将保持未初始化的值,导致输出结果不可预测。
- 建议思考如何用更简洁的方式处理相等的情况,比如使用 >= 运算符,或者考虑用 else if 结构来确保只有一个分支被执行。