c语言中a < b ? a : c < d ? c : d是什么意思?求解答

发布网友

我来回答

5个回答

热心网友

a<b?a:m的意思是是说前面的表达式a<b成立为真结果就为a否则为m,这里的m是c<d?c:d的结果。原语句是把两个嵌套在了一起,分开分析就对了

热心网友

等效于
(a < b) ? a :( c < d ? c : d)
即 如果a<b 值为a
否则 如果c<d值为c, c>=d 值为d

热心网友

这是一个三元运算式
当a<b时,等于a,否则等于c<d?的值
当c<d时,等于c;否则等于d
望采纳,谢谢

热心网友

2楼很详细呢,也就是如果a<b则a=a如果大於等於b则a=c,然後再判断赋值之後的a是否小於d,小於则a的最终结果为c,大於或等於d则a的最终结果为d

热心网友

相当于:

if(a<b)
{
if(a<d)
return c;
else
return d;
}
else
{
if(c<d)
return c;
else
return d;

}追问if(a<b)
{
if(a<d)
return c;
else
return d;
上半部分怎么觉得看不懂啊……是不是打错了?a和d没直接联系吧??

追答我详细解释下哈:
如果 a<b 那么公式就变成了 a< d ? c : d
否则 公式就变成了 c<d?c:d

(a < b ? a : c )< d ? c : d 加个括号你或许会看起来明白一点

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com