求助,这个怎么算

来源:3-10 运算符大比拼之优先级比较

风轩云冕

2015-07-12 15:09

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回答

  • 小玖so
    2015-08-05 15:30:50

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

  • 风轩云冕
    2015-07-14 14:44:01

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

  • 风轩云冕
    2015-07-14 14:39:31

    哦这样啊,谢谢了

  • 哈娃娃
    2015-07-12 17:16:23

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

C语言入门

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

926026 学习 · 20793 问题

查看课程

相似问题