C / C ++条件式は三元演算子を使用しますか?:完了。適切な条件下でifelseステートメントに置き換えることができます。
条件式の利点は、式操作の結果を直接返すことができることです。
条件式の使用は3つの部分に分けられます。例は次のとおりです。
c ? a : b;
ここで、cは判断条件であり、aとbは特定の値または式にすることができます。
式は最初にcを判断します。cの判断結果が0(またはtrue)でない場合、aの値または操作の結果が返されます。cの判断結果が0(またはfalse)の場合、bの値または操作の結果が返されます。次のように:
a、bは特定の値です。
a > b ? a : b;
aとbは計算式です。
a > b ? (a - b) : (b - a);
サンプルプログラム:
最大2つの数値を見つけます:
#include <stdio.h>
int main() {
int a, b, max;
scanf("%d%d", &a, &b);
max = a > b ? a : b;
printf("%d", max);
return 0;
}
に相当
#include <stdio.h>
int main() {
int a, b, max;
scanf("%d%d", &a, &b);
if (a > b) {
max = a;
} else {
max = b;
}
printf("%d", max);
return 0;
}
サンプルプログラム:
2つの数値の違いを見つけます。結果は常に大きい数値から小さい数値を引いたものになります
#include <stdio.h>
int main() {
int a, b, res;
scanf("%d%d", &a, &b);
res = a > b ? (a - b) : (b - a);
printf("%d", res);
return 0;
}
に相当
#include <stdio.h>
int main() {
int a, b, res;
scanf("%d%d", &a, &b);
if (a > b) {
res = a - b;
} else {
res = b - a;
}
printf("%d", res);
return 0;
}
式を直接出力したり、関数として返すこともできます。
直接出力式:
#include <stdio.h>
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%d", a > b ? a : b);
return 0;
}
関数の戻り値としての式:
#include <stdio.h>
int getMax(int a, int b) {
return a > b ? a : b;
}
int main() {
int a, b, max;
scanf("%d%d", &a, &b);
max = getMax(a, b);
printf("%d", max);
return 0;
}
コンプリート。