目录

Conditional operator (?)

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
↑回到顶部↑
WIKI教程 @2018