目录

Conditional Operator ? :

条件运算符? :是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经历通常的算术转换,其确定结果类型。
  • >两个表达式都必须是无效的。 结果类型无效。
↑回到顶部↑
WIKI教程 @2018