C++ 條件運算子 ? :



Exp1 ? Exp2 : Exp3;

其中 Exp1、Exp2 和 Exp3 是表示式。請注意冒號的使用和位置。? 表示式的值如下確定:計算 Exp1。如果為真,則計算 Exp2 並將其作為整個 ? 表示式的值。如果 Exp1 為假,則計算 Exp3 並將其值作為表示式的值。

?被稱為三元運算子,因為它需要三個運算元,並且可以用來替換if-else語句,其形式如下:

if(condition) {
   var = X;
} else {
   var = Y;
}

例如,考慮以下程式碼:

if(y < 10) { 
   var = 30;
} else {
   var = 40;
}

以上程式碼可以改寫如下:

var = (y < 10) ? 30 : 40;

這裡,如果 y 小於 10,則 x 的值為 30;否則,x 的值為 40。您可以嘗試以下示例:

#include <iostream>
using namespace std;
 
int main () {
   // Local variable declaration:
   int x, y = 10;

   x = (y < 10) ? 30 : 40;
   cout << "value of x: " << x << endl;
 
   return 0;
}

編譯並執行上述程式碼後,將產生以下結果:

value of x: 40
cpp_operators.htm
廣告