三目運算符詳解

小編在瀏覽別人的代碼時,偶然發現一個求三個數的最值時,居然可以用三目運算法表示。源碼如下:

int Max(int A,int B,int C)
{
	return A>B?A>C?A:C:B>C?B:C;
}

我當時一眼還沒看明白,查閱了下資料,發現三目運算的標準是: 條件 ? 結論1 : 結論2,大的框架下只能有三個操作數,在C語言中,結論1和結論2的類型必須一樣,如果有括號,括號可以省略,於是我把它改寫了一下:

int Max(int A,int B,int C)
{
	return A>B?(A>C?A:C):(B>C?B:C);
}

現在再看,這樣是不是就清晰多了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章