三目運算符:?:
語法:
表達式1 ?表達式2 : 表達式3;
語義:執行表達式1,看看表達式的結果,如果爲真,則執行表達式2,否則執行表達式3
口語:問表達式1成立嗎?成立就表達式2,否則表達式3
例:
int a = 10,b=20;
intmax=a>b? a : b;//表達式1? 表達式2: 表達式3
printf("c=%d",c);//打印20
解釋:因爲a的值是10,b的值是20,很明顯a是小於b的,所以表達式1成立,則執行a+b,所以最 後c的值爲30
上面這句相當於
int max;
if(a > b){
max = a;
}else{
max = b;
}
什麼時候用三目?
就是判斷條件後的語句比較少得時候用3目,如果有多條語句的時候用if-else