條件運算子:c提供條件表示式(conditional expression)作為表達if else語句的便捷方式,該表示式使用? :條件運算子。該運算子分為兩個部分,需要三個運算物件。(所以是三元運算子,也是c唯一的三元運算子)。
下面的**得到乙個數的絕對值:
x = (y < 0) ? -y : y;
在=和;之間的內容就是條件表示式,該語句的意思是「如果y小於0 那麼x = -y;否則,x = y」。用if else可以這樣表達:
if (y < 0)
x = -y;
else
x = y;
條件表示式的通用形式如下:
expression 1 ? expression 2 : expression 3
如果 expression 1為真(非0),那麼整個條件表示式的值與 expression 2的值相同;如果expression 1為假(0),那麼整個條件表示式的值與expression 3相同。
需要把兩個值中的乙個賦給變數,就可以用條件表示式。
舉例:max = (a > b) ? a : b;
如果a大於b,那麼將max設定為a;相反,為b。
一般來說,條件運算子可以做到的if else語句也可以做到,但使用條件運算子更簡潔。
條件運算子和逗號運算子
條件運算子 表示式1 表示式2 表示式3 運算規劃 如果表示式1為真,返回表示式2的結果,否則返回表示式3的結果 例如 a 1,b 2 a b a b 返回值為2 注意表示式是右結合的.例 a 1,b 2,c 3 a b a b?c b 相當於 a b a b?c b 返回值為3 逗號運算子 多個表...
C 條件運算子
語法 condition first expression r second expression r 說明 當 condition 為 true 時,返回 first expression r,否則返回 second expression r。有些參考書上說 等價於如下語句 if conditio...
條件運算子巢狀
條件運算子 都知道就不細說了,最簡單也是最常用的例子 n a b a b 在c primer plus第六版180頁看到了乙個例子,如下所示 const char x 2 20 const char y quillstone for int i 0 i 3 i cout i 2 i x i y x ...