C语言中,a<b?b:c<d?a:d,什么意思!

 我来答
chiconysun
2010-12-28 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2581万
展开全部
如果a小于b的话得到b 的值,否则,如果c 小于的话,得到a的值,都不是的话,得到d的值,注意运算符?:是从右向左结合的
sun_siliang
推荐于2018-02-11 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4619万
展开全部
1a<b?b:c<d?a:d相当于a<b?b:(c<d?a:d)
2若a<b成立,则表达式返回:b,否则返回:c<d?a:d
3c<d?a:d的理解同上。

测试程序如下:
#include <stdio.h>
void main()
{
int a,b,c,d;
a=1;
b=2;
c=3;
d=4;
printf("%d\n",a<b?b:c<d?a:d);
}
//根据上面分析,程序输出2
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友40dff7655
2010-12-28
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
这个主要是三元操作符?的用法,如果表达式1为真则“表达式1?表达式2:表达式3;”返回的值是表达式2的值否则返回表达式3的值。如题,如果a<b成立则返回b的值(否则返回c的值)返回的值(b或者c)在与d比较,若小于d则返回a的值,否则返回d的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奇婉融飞薇
2020-04-06 · TA获得超过3656个赞
知道大有可为答主
回答量:3147
采纳率:34%
帮助的人:233万
展开全部
这个是个条件运算符,格式就是条件?真:假(条件为真的时候调用真这个式子,为假的时候调用这个假的式子)
比如a<b?a:c<d?a:d等价于
if
(a<b)
return
a;
else
if(c
<
d)
return
a;
else
return
d;
根据你的题目,结果是a,也就是1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdghchj
2010-12-28 · TA获得超过1.2万个赞
知道大有可为答主
回答量:3977
采纳率:0%
帮助的人:6134万
展开全部
嵌套三目运算,加个括号就明显了:a<b?b:(c<d?a:d)
如果a<b,则式子结果为b,否则,再判断如果c<d,式子结果为a,否则为d。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式