回答編集履歴
1
加筆修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
三項「演算子」は、あくまで「値」を計算するものです。printf関数は複数の値を引数として呼び出すことができますが、「値」とは、printf(A, B, ...)とあるうちの、AやBのことです。例えば、このA
|
1
|
+
三項「演算子」は、あくまで「値」を計算するものです。printf関数は複数の値を引数として呼び出すことができますが、「値」とは、printf(A, B, ...)とあるうちの、AやBのことです。例えば、このAを、X ? Y : Zで置き換えると、printf(X ? Y : Z, B, ...)となります。もっと具体的にすると、printf(a % 2 == 0 ? "Even! %d" : "%d is Odd", B)とすれば、aが偶数ならprintf("Even! %d", B)と、奇数ならprintf("%d is Odd", B)と同じになります。三項演算子で、「表示する書式を」切り換えているわけです。「表示する書式と表示する値の組み合わせ」を切り換えるわけではないので、質問にあった、「,a」の記述が「三項演算子内では」不要なのです(三項演算子の終了後は必要)。
|