(1) C语言中的a = b >= c ? d : e;
如果 b>=c 条件成立,那么结果为a=d;
如果 b<c 条件成立,那么结果为a=e;
附一个例子
si=NE555_Frequency>=10000 ? NE555_Frequency/10000 : 11;
wu=NE555_Frequency>=1000 ? NE555_Frequency/1000%10 : 11;
执行结果为
当NE555_Frequency>=1000时,wu=NE555_Frequency/1000%10 ;
当NE555_Frequency<1000时,wu=11;
当NE555_Frequency>=10000时,si=NE555_Frequency/10000;
当NE555_Frequency<10000时,si=11;
(2) C语言res=a<b?a:c<d?a:d
三目运算符:如果问号前面的表达式为真,那么整个表达式的值就等于冒号前面的那个数
如果a<b为真,表达式等于res=a<d?a:d;
如果a<b为假,表达式等于res=c<d?a:d;
然后再判断:a<d或者c<d;
第二个转自https://zhidao.baidu.com/question/215215332.html