C/C++ 三元运算符


三元运算符的语法如下 −

(expression-1) ? expression-2 : expression-3

此运算符根据一个表达式的结果返回两个值中的一个。如果“表达式-1”求值为布尔真值,则求值表达-2 并将其值返回为最终结果,否则求值表达-3 并将其值返回为最终结果。

示例

我们编写一个程序,使用三元运算符求两个数字中的最大值。

 在线演示

#include <iostream>
using namespace std;
int main() {
   int a = 10;
   int b = 20;
   int max = a > b ? a : b;
   cout << "Maximum value = " << max << "\n";
   return 0;
}

如果我们将三元运算符的语法与上面示例进行比较,则 −

  • 表达式-1 是 (a > b)
  • 表达式-2 是 a
  • 表达式-3 是 b

首先,求值表达式 a > b,它求值为布尔假值,因为变量 'a' 的值小于变量 'b' 的值。因此,变量 'b'(即 '20')的值被返回,它变为最终结果并被赋值给变量 'max'。

输出

当你编译并执行上述代码时,它将生成以下输出 −

Maximum value = 20

更新于:2019 年 9 月 26 日

5000+ 浏览

开启你的职业生涯

完成课程可获得认证

开始入门
广告