Онлайн компилятор 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; }
这段代码试图从三个整数中找出最大值并输出,但存在多个语法和逻辑错误。

- `scanf` 中变量前缺少取地址符 `&`,导致输入无法正确存储到变量中。
- `if` 语句的条件必须用圆括号括起来,并且不能使用逗号分隔多个条件,应该用逻辑运算符(如 `&&`)连接。
- `if` 语句后面直接跟分号会导致条件判断失效,后面的 `printf` 会无条件执行。
- 最后的 `printf` 输出的是 `a`,但根据逻辑应该是输出最大值,这里可能写错了变量。