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
广告