三項演算子
CoddyのCジャーニー「Fundamentals」セクションの一部。レッスン 29/63。
三項条件演算子(ternary conditional operator)は、if-else文を1行で簡潔に記述するための短縮形です。
構文は次のとおりです。
condition ? value_if_true : value_if_false;例を見てみましょう。まず、従来の if-else 文です。
int max;
if (a > b) {
max = a;
} else {
max = b;
}次に、三項演算子(ternary operator)を使って書き換えてみましょう:
int max = (a > b) ? a : b;この例では:
a > bが条件(condition)です- 条件が true の場合、
aが返されます - 条件が false の場合、
bが返されます
三項演算子(ternary operator)はネストすることもできますが、コードが読みづらくなる可能性があります:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);チャレンジ
簡単条件演算子を使用して、数値が positive、negative、または zero のいずれであるかを判定するプログラムを作成してください。プログラムの仕様は以下の通りです:
- ユーザーから整数の入力を受け取ります。
- 条件演算子を使用して、数値が positive、negative、または zero のいずれであるかを判定します。
- 結果を
"The number is [positive/negative/zero]"の形式で出力します。
自分で試してみよう
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
// 以下にコードを書いてください
// プレースホルダーのテキストを条件式に置き換えてください
char* result = "zero";
printf("The number is %s\n", result);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Fundamentalsのすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ