条件运算符 ?: — C++ 唯一的三元运算符
cond ? 表达式1 : 表达式2 先算条件;真取表达式1的值,假取表达式2的值 —— 它是一个
表达式
,会产出一个值
语法形态
cond
?
表达式1
:
表达式2
右结合、优先级很低 —— 嵌进别处常需加括号
变量 a
7
变量 b
4
int a = 7, b = 4;
max
=
(a > b)
?
a
:
b
;
条件 cond
真→取 a
假→取 b
7 > 4
为
true
→ 选左支 a
右支被跳过,不求值
结果 max
?
完全等价的 if-else 写法:
if (a > b) max = a; else max = b;
区别:?: 是「表达式」能直接嵌进赋值/输出,if 是「语句」
▶ 重播