if文 複数条件の場合、どちらが良いのか? 入れ子 or 論理演算子&& C言語
解決したいこと
C言語のif文に関するコードの適切な書き方を知りたいです。
例えば、
a) a = 1, b = 2, c = 3, d = 4という条件の時は、ABCと出力しなさい。
b) a = 2, b = 2, c = 3, d = 4という条件の時は、DEFと出力しなさい。
c) a = 2, b = 2, c = 3, d = 2という条件の時は、GHIと出力しなさい。
d) a = 3という条件の時は、JKLと出力しなさい。
という指示があった場合、
// ① 羅列していく
if(a == 1 && b == 2 && c == 3 && d == 4){
// ABCと出力する処理
}else if(a == 2 && b == 2 && c == 3 && d == 4){
.
.
.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
// ② 入れ子を使う
if(b == 2 && c == 3 && d == 4){
if(a == 1){
// ABCと出力する処理
}else if(a == 2){
// DEFと出力する処理
}
}
.
.
.
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
// ③ returnを活用する
if(a == 1 && b == 2 && c == 3 && d == 4){
// ABCと出力する処理
return 0;
}
if(a == 2 && b == 2 && c == 3 && d == 4){
// DEFと出力する処理
return 0;
}
.
.
.
などが考えられますが、どんな書き方が適切ですか?