这段代码的功能是:读入三个整数,判断它们能否构成一个三角形(两边之和大于第三边)。它先找出三个数中的最大值,然后判断剩余两个数的和是否大于最大值。
代码中存在一个语法错误,导致无论输入什么都会输出"NO"。
- 在第16行,`if (sum<max);` 后面多了一个分号。这个分号使得 `if` 语句体为空,而后面大括号里的 `printf("NO\n");` 变成了一个独立的代码块,无论条件是否成立都会执行。你需要去掉这个分号,让大括号内的语句成为 `if` 的条件体。
- 另外,当 `sum` 等于 `max` 时,程序不会输出任何结果。你可以考虑用 `else` 来处理 `sum <= max` 的情况,这样逻辑会更完整。