C++ 条件运算符 ?:

返回上一级

?: 被称为三元运算符,因为它需要三个操作数,可以用来代替如下所示的 if-else 语句。

?: 三元运算符语法格式如下

Exp1 ? Exp2 : Exp3;

Exp1、Exp2 和 Exp3 是表达式。请注意冒号的使用和位置

?: 表达式的值取决于 Exp1 的计算结果

  • 如果 Exp1 为真,则计算 Exp2 的值,且 Exp2 的计算结果则为整个 ? : 表达式的值。
  • 如果 Exp1 为假,则计算 Exp3 的值,且 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,则 var 被赋值为 30,如果 y 不小于 10,则 var 被赋值为 40。

范例 : 三元运算符的使用

/**
 * file: main.cpp
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <iostream>
using namespace std;

int main ()
{
   // 局部变量声明
   int x, y = 5;

   x = (y < 4) ? 17 : 13;

   cout << "value of x: " << x << endl;

   return 0;
}

编译和运行以上范例,输出结果如下:

$ g++ main.cpp && ./a.out
value of x: 13

返回上一级

C++ 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.