在线编译器 C

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

- 代码中使用了 `&` 运算符,这是按位与运算符,而不是逻辑与运算符 `&&`。在条件判断中,应该使用 `&&` 来确保两个条件同时成立。`&` 虽然在某些情况下也能工作,但行为可能不符合预期,并且不是标准做法。
- 第三个 `if` 语句中,如果 `c` 是最大值,却错误地输出了 `a` 的值,而不是 `c`。这里应该是 `printf("%d\n",c);`。