條件運算子

2021-10-06 13:15:55 字數 674 閱讀 4235

條件運算子: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 ...