Conditional Operator ? :
优质
小牛编辑
129浏览
2023-12-01
条件运算符? :是C中唯一的三元运算符。
? :条件运算符语法
expression1 ? expression2 : expression3
首先评估Expression1。 如果其值为true,则计算expression2并忽略expression3。 如果expression1被评估为false,则表达式3计算并忽略expression2。 结果将是expression2或expression3的值,具体取决于它们中的哪一个计算为True。
条件运算符从右到左关联。
Example
/* Find max(a, b): */
max = ( a > b ) ? a : b;
/* Convert small letter to capital: */
/* (no parentheses are actually necessary) */
c = ( c >= 'a' && c <= 'z' ) ? ( c - 32 ) : c;
条件算子规则
- expression1必须是标量表达式; expression2和expression3必须遵守以下规则之一。
- 两个表达式都必须是算术类型。
- 表达式2和表达式3经历通常的算术转换,其确定结果类型。
- >两个表达式都必须是无效的。 结果类型无效。