次のif =文をswitch文に変換するにはどうしたらいいですか(41-49)。出来ますか?if文をswitch文に変換する
if (num < 50 && num > 40)
{
printf("correct!");
}
次のif =文をswitch文に変換するにはどうしたらいいですか(41-49)。出来ますか?if文をswitch文に変換する
if (num < 50 && num > 40)
{
printf("correct!");
}
bool criteria1 = (num < 50 && num > 40);
switch criteria1: ...
怖い...マルチレベルの意思決定のネットワークをもたらすことができますか?
はこれを行う唯一の方法ですか?別の方法がありますか?代わりに条件をケースに付けることはできますか?ちょっと興味があるんだけど。 – wadafarfar
@wadafarfar、あなたが望む言語が(|)を評価するときにtrue | false値を返すことをサポートしていれば、それらはswitch文によって見えます。 'switch(condition)true:code1; false:code2;終了;は動作します。そのためのテストを書くのですか? –
CまたはC++(printfを使用しているので、これを仮定します)では、選択肢ごとに列挙する必要があります。
switch/case
とif
の唯一の違いは、範囲をチェックする代わりに計算されたgotoに変換する可能性があることです。 switch/case
がサポートされている範囲であれば、この最適化の可能性を開こうとする目的を無効にします。
スイッチのすべてのケースを列挙する必要があります。コンパイラはこれをジャンプテーブルに変換するため、範囲を使用できません。ただし、複数のケースで同じコードブロックを使用することができます。これは、必要なものに近い場合があります。
switch(num) {
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
printf("correct!");
break;
default:
break;
}
この内容はどうですか?
switch ((num-41)/9) {
case 0:
printf("correct!");
break;
}
どのような言語ですか? C? C++?他に何か? – Oded
そしてそのような式を_why_変換したいですか? – Oded