Conditional operator (?)
优质
小牛编辑
143浏览
2023-12-01
Exp1 ? Exp2 : Exp3;
其中Exp1,Exp2和Exp3是表达式。 注意结肠的使用和放置。 一个值? 表达式的确定方式如下:评估Exp1。 如果是,那么Exp2会被评估并成为整个值吗? 表达。 如果Exp1为false,则计算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。 您可以尝试以下示例 -
#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