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

#include <stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); if (a+b>c,a+c>b,b+c>a){ printf("YES\n"); } else { printf("NO\n"); } return 0; }
这段代码试图判断三个整数是否能构成三角形的边长。它读取三个整数,然后检查是否任意两边之和大于第三边。

- 你的条件判断使用了逗号运算符 `a+b>c, a+c>b, b+c>a`。逗号运算符会依次计算每个表达式,但只返回最后一个表达式的值。这意味着实际上只检查了 `b+c>a` 这一个条件,前两个条件被忽略了。你需要用逻辑与运算符 `&&` 来同时检查所有三个条件。

- 注意输入格式:`scanf` 中的 `%d%d%d` 没有空格,用户输入时需要用空格或换行分隔数字,这是正确的。但确保理解输入格式与代码的匹配。