有关C++的疑问

来源:百度知道 编辑:UC知道 时间:2024/05/18 10:38:50
求a,b,c之中的最大值,用条件表达式可以表示为:
a>b?(a>c?a:c):(b>c?b:c)
问题是:上面的表达式是怎样想出来的?思路流程是怎样的?

谢谢各位帮忙了~
备注:我不需要其他方法

..从左到右的看.. 如果a>b 则比较a和c. 如果a<b,则比较b和c.

..从运算符,等级看..两个括号,一个比较a和c,一个比较b和c, 最后比较a和b... 就这.. 三个之间都要比较.最后确定最大的.

这应该是一个返回三个数据中最大值的函数。
应为:
return a>b?(a>c?a:c):(b>c?b:c);

等价于:
if(a>b)
{
if(a>c)
return a;
else
return c;
}
else
{
if(b>c)
return b;
else
return c;
}

它相当于
if(a>b)
{
if(a>c)
{
a为最大
}
else
{
c为最大
}
}
else if(b>c)
{
b为最大
}
else
{
c为最大
}