C/C++ 中“?”的作用是什麼?


運算子“?”被稱為三元運算子,因為它需要三個運算元才能進行操作。它可以用“? :”表示。它也被稱為條件運算子。該運算子提高了效能,減少了程式碼行數。

以下是 C 語言中三元運算子的語法:

Expression1 ? Expression2 : Expression3

以下是 C 語言中三元運算子的一個示例:

示例

 線上演示

#include <stdio.h>

int main() {
   int a = -1;
   double b = 26.4231;
   int c = a? printf("True value : %lf",b):printf("False value : 0");
   return 0;
}

輸出

以下是輸出:

True value : 26.423100

Expression1 將總是求值,而 expression2 和 expression3 取決於 expression1 的結果。如果 expression1 的結果是非零或負數,expression2 將顯示,否則 expression3 將顯示。

三元運算子有返回型別。返回型別取決於 expression2,還取決於 expression3 轉換為 expression2 的可轉換性。如果它們不可轉換,編譯器將丟擲錯誤。

以下是 C 語言中三元運算子的另一個示例:

示例

 線上演示

#include <stdio.h>
int main() {
   int x = -1, y = 3;
   double b = x+y+0.5;
   int c = x<y? printf("True value : %lf",b):printf("False value : 0");
   return 0;
}

輸出

以下是輸出:

True value : 2.500000

更新於: 2020-06-25

1K+ 瀏覽

推動你的 職業

完成本課程以取得認證

開始
廣告
© . All rights reserved.