三元运算符是C语言和C++中的一种简洁的条件运算符,它的形式为:
条件表达式 ? 表达式1 : 表达式2;
三元运算符的含义
-
条件表达式:这是一个布尔表达式,通常是一个比较操作(如
>
、<
、==
等)。 -
表达式1:如果条件表达式的结果为 真(即非零值),则整个三元运算符的结果是 表达式1 的值。
-
表达式2:如果条件表达式的结果为 假(即零值),则整个三元运算符的结果是 表达式2 的值。
语法结构
result = 条件表达式 ? 表达式1 : 表达式2;
示例
假设我们有以下代码:
int x = 10, y = 20;
int max = x > y ? x : y;
-
条件表达式:
x > y
,即10 > 20
,结果为 假(0
)。 -
表达式1:
x
,即10
。 -
表达式2:
y
,即20
。
因为条件表达式的结果为 假,所以 max
的值为 表达式2 的值,即 20
。
再看另一个例子:
int x = 30, y = 20;
int max = x > y ? x : y;
-
条件表达式:
x > y
,即30 > 20
,结果为 真(1
)。 -
表达式1:
x
,即30
。 -
表达式2:
y
,即20
。
因为条件表达式的结果为 真,所以 max
的值为 表达式1 的值,即 30
。