为了账号安全,请及时绑定邮箱和手机立即绑定

求助,这个怎么算

int a=1,b=2,c=3,d=4;

printf("%d",a<b?a:c<d?a:b);

a<b?a:c<d?a:b是不是=(a<b)?(a):(c<d)?(a):(b)  初学请指正

正在回答

4 回答

你在哪里看的? 我怎么觉得还是不对,(<)优先(?:)啊,   (a<b)?a:(c<d)?a:b    ;    1?a:1?1:b  ;       1?1:1结果是1  ;再算后面  1?1:2; 结果是1

0 回复 有任何疑惑可以回复我~

重新拆分一下是:a<b?a:c<d?a:b=(a<b?a:c)<d?a:b=1

0 回复 有任何疑惑可以回复我~

哦这样啊,谢谢了

0 回复 有任何疑惑可以回复我~

按顺序算,a<b?a:c,然后用其结果与d组合,计算下一组条件运算。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

求助,这个怎么算

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信