小编在浏览别人的代码时,偶然发现一个求三个数的最值时,居然可以用三目运算法表示。源码如下:
int Max(int A,int B,int C)
{
return A>B?A>C?A:C:B>C?B:C;
}
我当时一眼还没看明白,查阅了下资料,发现三目运算的标准是: 条件 ? 结论1 : 结论2,大的框架下只能有三个操作数,在C语言中,结论1和结论2的类型必须一样,如果有括号,括号可以省略,于是我把它改写了一下:
int Max(int A,int B,int C)
{
return A>B?(A>C?A:C):(B>C?B:C);
}
现在再看,这样是不是就清晰多了。