Arduino-conditional-operator

提供:Dev Guides
移動先:案内検索

Arduino-条件演算子? :

条件付き演算子 :はCの唯一の三項演算子です。

? :条件演算子の構文

expression1 ? expression2 : expression3

Expression1が最初に評価されます。 値がtrueの場合、expression2が評価され、expression3は無視されます。 expression1がfalseと評価された場合、expression3が評価され、expression2は無視されます。 結果は、どちらがTrueと評価されるかに応じて、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です。