在 C++ 里,三目运算符也被叫做条件运算符,它是唯一的一个需要三个操作数的运算符。它的主要作用是依据一个条件的真假来选择两个值中的一个。
语法格式
条件表达式 ? 表达式1 : 表达式2;
执行逻辑
- 首先对条件表达式进行求值。
- 若条件表达式的结果为真(非零),则整个三目运算符表达式的值为表达式 1 的值。
- 若条件表达式的结果为假(零),则整个三目运算符表达式的值为表达式 2 的值。
示例代码
#include <iostream>
int main() {
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
std::cout << "较大的数是: " << max << std::endl;
return 0;
}
代码解释
- 先定义了两个整数变量
a
和b
。 - 接着使用三目运算符
(a > b) ? a : b
来找出a
和b
中的较大值。 - 若
a > b
为真,max
就会被赋值为a
;若为假,max
则会被赋值为b
。 - 最后输出较大的数。
嵌套使用
三目运算符是可以嵌套使用的,这样就能处理更复杂的条件判断。示例如下:
#include <iostream>
int main() {
int a = 10;
int b = 20;
int c = 30;
int max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
std::cout << "最大的数是: " << max << std::endl;
return 0;
}
代码解释
在这个嵌套的三目运算符中,首先判断a > b
是否成立。若成立,再判断a > c
是否成立,若成立则max
为a
,否则为c
;若a > b
不成立,就判断b > c
是否成立,若成立则max
为b
,否则为c
。这样就实现了三个数中最大值的判断。