【发布时间】:2015-07-10 01:43:24
【问题描述】:
有没有更好的方法来使用 C 中的三元运算符返回两个整数的最大值?
这就是我现在所拥有的
int max(int a, int b)
{
int big = 0;
big = (a>b)?a:b;
return big;
}
但我想写成这样
#include <stdio.h>
int main(void)
{
printf("%d\n",fun(5,4));
return 0;
}
int fun(int a, int b)
{
(a>b)?(return a:return b);
}
但它给了我一个错误
【问题讨论】:
-
“它给了我一个错误” - 因为它不是有效的 C。
return a > b ? a : b;有什么问题 -
你不能在三元的第二部分和第三部分加上括号。
-
@WhozCraig,在我找到解决方案后才回来,并看到它已得到解答。谢谢。
标签: c max ternary-operator