Date : 2020 - 02 - 01 Author : Soler HO Book :C Primer Plus Description : 條件運算符:?:
C提供了條件表達式(conditional expression)做爲表達if else 語句的一種便捷方式,表達式使用:?: 條件運算符。express
運算符分爲兩部分,須要3個運算對象。也就是所謂的三元運算符,也是C語言中的惟一的三元運算符。code
例如:對象
x = (y<0)?-y:y; 在 = 和 ; 之間的內容是條件表達式,語句的意思: 若是y小於0,那麼 x = -y;不然x = y。 if else表達式爲: if(y<0) x = -y; else x = y;
通用的格式爲:ip
expression01 ? expression02:expression03
格式說明:it
若是expression01爲真(非0),整個條件表達式的值與expression02的值相同,expression01爲假(0),表達式的值與expression03的值相同。io
例如:im
min = (a<b)?b:a;若是a小於b,將min設置爲b,不然,設置爲a。語言
// 計算給定平方英尺的面積須要多少罐油漆 #include<stdio.h> #define COVERAGE 350 // 每罐油漆可刷的面積(單位:平方英尺) int main(void) { int sq_feet; // 面積:平方英尺 int cans; // 罐數 printf("請輸入要刷的面積(單位:平方英尺):"); while(scanf("%d",&sq_feet) == 1) { cans = sq_feet / COVERAGE; cans += ((sq_feet % COVERAGE == 0))?0:1; printf("你須要 %d 罐油漆刷牆\\n",cans); printf("請輸入要刷的面積,輸入q就中止(單位:平方英尺):"); } return 0; }