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);
その部分だけが必要な場合は、&&を使用できます。
(integer == 5) && (THENEXPR)
Else部分のみが必要な場合は、||を使用します。
(integer == 5) || (ELSEEXPR)