Online Compiler 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 是否为最大值,最后打印 max 变量。

- 代码逻辑是正确的,但有一个小问题:如果三个数中有两个相等且都是最大值,比如输入 5 5 3,程序会先执行第一个 if 将 max 设为 a,然后执行第二个 if 将 max 设为 b,最终结果正确。但如果输入 5 3 5,第一个 if 成立,第三个 if 也成立,max 会被覆盖为 c,结果仍然正确。所以逻辑上没有问题。

- 注意 printf 中的格式字符串 "%d\n " 在换行符后多了一个空格,这会导致输出数字后多打印一个空格,但不会影响功能。你可以考虑是否去掉这个空格。