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,否则赋值为 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