値を代入するだけの条件文

値を代入する条件文は以下のように書くこともできます。

変数 = ( 条件文 ) ? 真の時の値 : 偽の時の値;

スポンサーリンク

サンプルプログラム

ソースファイル名:main.c

実行方法

上のソースを書き写して実行してください。
a の値の違いによる printf の出力の違いに注目してください。

ちょっと変わった条件文

今回は特殊な条件文です。 条件文は、

judge = ( a == 10 ) ? 5 : 2;

のように書くと、if と else を一行で表す事ができます。

この条件文の特徴は、真の値と偽の値を変数に代入するとことはできますが、if 文のように複数の命令を羅列する事はできません。

複数の命令をられるすることはできないと書きましたが、例外として関数を使うことで複数の命令を行うことは可能です。
サンプルプログラムの

judge = ( a != 10 ) ? 5 : func();

のように、関数を呼び出して値を代入することはできます。

スポンサーリンク