C++ 条件运算符 ? : 运算符
Exp1 ? Exp2 : Exp3;
其中 Exp1、Exp2 和 Exp3 为表达式。注意冒号的使用和位置。? 表达式的值确定如下:先求 Exp1。如果 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;否则,赋为 40。您可以尝试以下示例 −
#include <iostream> using namespace std; int main () { // 局部变量声明: int x, y = 10; x = (y < 10) ? 30 : 40; cout << "value of x: " << x << endl; return 0; }
当编译并执行上述代码时,它会产生以下结果 -
value of x: 40