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
廣告