a?b:c
這個是條件表達式,表示如果a為真,則表達式值為b,如果a為假,則表達式值為c
條件表達式具體說明如下
條件語句:
if(a>b) max=a; else max=b;
可用條件表達式寫為
max=(a>b)?a:b;
執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max.
使用條件表達式時,還應注意以下幾點:
1) 條件運算符的運算優先級低於關系運算符和算術運算符,但高於賦值符.
因此
max=(a>b)?a:b
可以去掉括號而寫為
max=a>b?a:b
2) 條件運算符?和:是一對運算符,不能分開單獨使用.
3) 條件運算符的結合方向是自右至左.
例如:
a>b?a:c>d?c:d
應理解為
a>b?a:(c>d?c:d)
這也就是條件表達式嵌套的情形,即其中的表達式3又是一個條件表達式.