三目運算符

對於條件表達式b?x:y,先計算條件b,然後進行判斷。如果b的值爲true,計算x的值,運算結果爲x的值;否則,計算y的值,運算結果爲y的值。一個條件表達式從不會既計算x,又計算y。


例子

        int i=1;
	int m=2;
	int k=3;
	r=i<m?(m<k?(i+m>k?(k>m):(k>i)):(i+m>k?(k<m):(k<i))):(m<k?(i+m>k?(k>m):(k>i)):(i+m>k?(k<m):(k<i)));
	如果當i<m成立爲true,那麼將執行表達式1,當m<k成立爲true,那麼將執行:左邊表達式,當i+m>k成立爲true,那麼將執行k>m,不成立反之;
	如果當i<m不成立爲false,那麼將執行表達式2,當m<k不成立爲false,那麼將執行:右邊表達式,當i+m>k不成立爲false,那麼將執行k<i,成立反之;

總的來說就是?前面的條件成立執行左面,不成立執行右面,如果裏面還有條件,繼續如此循環執行得出最後結果!
發佈了26 篇原創文章 · 獲贊 51 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章