Arduino - 条件运算符 ?



条件运算符 ? : 是 C 语言中唯一的三元运算符。

? : 条件运算符语法

expression1 ? expression2 : expression3

首先评估 Expression1。如果其值为真,则评估 Expression2,而忽略 Expression3。如果 Expression1 评估为假,则评估 Expression3,而忽略 Expression2。结果将是 Expression2 或 Expression3 的值,具体取决于哪个评估为真。

条件运算符从右到左结合。

示例

/* 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 必须遵循以下规则之一。
  • 两个表达式都必须是算术类型。
  • expression2 和 expression3 经过通常的算术转换,这决定了结果类型。
  • >两个表达式都必须是 void 类型。结果类型为 void。
arduino_control_statements.htm
广告