C 语言中 ?:
运算符的用法
?:运算符,也称为三元条件运算符,用于在 C 语言中根据条件执行不同的代码块。它的语法如下:
<code class="c">condition ? true_expression : false_expression;</code>
其中:
condition是一个布尔表达式,决定执行哪个代码块。
true_expression是在
condition为
true时执行的代码块。
false_expression是在
condition为
false时执行的代码块。
工作原理:
立即学习“C语言免费学习笔记(深入)”;
?:运算符首先对
condition求值,如果为
true,则执行
true_expression,否则执行
false_expression。它返回
true_expression和
false_expression其中一个的值,具体取决于
condition的真假。
具体用法:
?:运算符可以用于各种场景,例如:
条件赋值:
<code class="c">int x = condition ? 10 : 20; // x 将被赋值为 10 或 20</code>
简化 if-else 语句:
<code class="c">condition ? printf("True") : printf("False"); // 输出 "True" 或 "False"</code>
作为函数参数:
<code class="c">int max(int a, int b) {
return a > b ? a : b; // 返回 a 和 b 中较大的一个
}</code>
赋值不同类型:
<code class="c">int x = condition ? 10.0 : 20; // x 将是浮点数或整数,具体取决于 condition</code>
注意:
true_expression和
false_expression的类型必须兼容。
?:运算符的优先级高于赋值运算符,因此必须使用括号来确保条件的正确求值。
