风轩云冕
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) 初学请指正
你在哪里看的? 我怎么觉得还是不对,(<)优先(?:)啊, (a<b)?a:(c<d)?a:b ; 1?a:1?1:b ; 1?1:1结果是1 ;再算后面 1?1:2; 结果是1
重新拆分一下是:a<b?a:c<d?a:b=(a<b?a:c)<d?a:b=1
哦这样啊,谢谢了
按顺序算,a<b?a:c,然后用其结果与d组合,计算下一组条件运算。
C语言入门
926210 学习 · 20797 问题
相似问题