C++ 简写的 If Else

简写 If...Else(三元运算符)

还有一种简写的 if...else,称为三元运算符,因为它使用了三个操作数。

三元运算符根据条件返回一个值:如果条件为真,返回第一个值;否则,返回第二个值。

它可以用一行代码替换多行代码,并且常用于替换简单的 if...else 语句:

语法

variable = (条件) ? 表达式真 : 表达式假;

与其这样写:

实例

int time = 20;
if (time < 18) {
  cout << "日安";
} else {
  cout << "晚安";
}

亲自试一试

您可以简单地写成:

实例

int time = 20;
string result = (time < 18) ? "日安" : "晚安";
cout << result;

亲自试一试

您也可以直接在 cout 语句中使用三元运算符:

实例

int time = 20;
cout << ((time < 18) ? "Good day." : "Good evening.");

亲自试一试

提示:对于简短简单的条件,使用三元运算符。对于较长或更复杂的逻辑,常规的 if...else 语句更易于阅读。

嵌套三元运算

您可以嵌套三元运算符来处理两个以上的结果,但这可能会使代码更难阅读:

实例

int time = 22;
string message = (time < 12) ? "Good morning."
  : (time < 18) ? "Good afternoon."
  : "Good evening.";
cout << message;

亲自试一试

注意:尽管嵌套三元运算符可以工作,但为了清晰起见,通常最好使用普通的 if...else if...else 语句。