C には、省略形の IF-ELSE ステートメントの次の構文があります。
(integer == 5) ? (TRUE) : (FALSE);
ステートメントの一部 (TRUE または FALSE) のみを必要とすることがよくあり、これを使用します。
(integer == 5) ? (TRUE) : (0);
この簡略表記を使用して、ステートメントの ELSE 部分を含めない方法があるかどうか疑問に思っていましたか?
C には、省略形の IF-ELSE ステートメントの次の構文があります。
(integer == 5) ? (TRUE) : (FALSE);
ステートメントの一部 (TRUE または FALSE) のみを必要とすることがよくあり、これを使用します。
(integer == 5) ? (TRUE) : (0);
この簡略表記を使用して、ステートメントの ELSE 部分を含めない方法があるかどうか疑問に思っていましたか?
演算子?:
は値を返す必要があります。「else」の部分がなかったら、ブール式が false のときに何を返しますか? 他の言語では適切なデフォルトは null かもしれませんが、おそらく C ではそうではありません。「if」を実行するだけで、値を返す必要がない場合は、入力if
がはるかに簡単になります。
問題は、then 部分と else 部分の両方なしで次の式を何とか書けるかどうかです。
(integer == 5) ? (THENEXPR) : (ELSEEXPR);
then 部分のみが必要な場合は、&& を使用できます。
(integer == 5) && (THENEXPR)
else 部分のみが必要な場合は || を使用します。
(integer == 5) || (ELSEEXPR)