c语言当中,这个表达式该怎么求 d=a>b?(a>c?a:c):(b);

如题所述

先比较a是否大于b,不大于的话表达式就直接等于b,
大于b的话再计算小括号里面的(a>c?a:c),就是当a大于c的时候返回a,a小于等于c的时候等于c,大概就这样
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-24
首先普及下基础知识 ?:语句
先判断?前的语句,是真取‘?’后,‘:’前的表达式为结果,是假的话取‘:’后的表达式为结果

先判断a>b 是真的话则执行:前的a>c?a:c,再判断a>c,是真的话结果为a,是假的话结果为c如果先前的a>b是假的话,结果为b来自:求助得到的回答
第1个回答  2013-01-24
这样理解就行,把?: 转化成 if else

if(a>b)
{
if(a>c)
{
d = a;
}
else
{
d = c;
}
}
else
{
d = b;
}
相似回答