📅  最后修改于: 2023-12-03 14:38:45.262000             🧑  作者: Mango
C 语言中的条件运算符 ?: 十分常用,它可以将一个条件表达式转换为一个值。它的语法如下:
condition ? expr1 : expr2
如果 condition 为真,则返回 expr1,否则返回 expr2。
下面是一些示例,以说明该运算符的使用方式。
假设我们有两个变量 avar 和 bvar,我们要根据它们的值来设置一个变量 result 的值:
int avar = 1, bvar = 2, result;
result = (avar == 1) ? (bvar == 2 ? 3 : 5) : 0;
这个例子中我们使用了嵌套的条件运算符。它的含义是:如果 avar 的值为 1,则检查 bvar 的值是否为 2;如果是,则将 result 的值设置为 3,否则将其设置为 5;否则将 result 的值设置为 0。
也可以将上面的代码写成下面这种形式:
if (avar == 1) {
if (bvar == 2) {
result = 3;
} else {
result = 5;
}
} else {
result = 0;
}
这样做可以使代码更易于理解,但也更加冗长。
C 语言中的条件运算符 ?: 是一种非常有用的工具。它可以用来转换一个条件表达式为一个值,使代码更加简洁,便于阅读。但过度使用它可能会导致代码难以阅读和理解,所以在使用它时需要适度。