C中使用三元运算符的最大两个整数

tub*_*bby 1 c max ternary-operator

有没有更好的方法来使用 C 中的三元运算符返回两个整数的最大值?

这就是我现在所拥有的

int max(int a, int b)
{
 int big = 0;
 big = (a>b)?a:b;

 return big;
}
Run Code Online (Sandbox Code Playgroud)

但我想写成这样

#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);
}
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误

Ker*_* SB 5

条件运算符(是的,它有一个名字!)用于构建表达式,因此您必须在需要表达式的地方使用它——例如,return 语句的表达式:

return b < a ? a : b;
Run Code Online (Sandbox Code Playgroud)