条件运算符 ?: 是C中唯一的三元运算符。
? :条件运算符语法
- expression1 ? expression2 : expression3
首先评估表达式1。 如果其值为true,那么将求值expression2,并忽略expression3。 如果expression1计算为false,则expression3将计算,而expression2将被忽略。 结果将是expression2或expression3的值,具体取决于哪些值的计算结果为True。
条件运算符从右到左关联。
示例
- /* 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经受通常的算术转换,其确定所得到的类型。
- >两个表达式都必须是void类型。 生成的类型为void。
转载本站内容时,请务必注明来自W3xue,违者必究。