最も一般的な言語 [c、c++、java] の興味深い現象は、デフォルトでスイッチがフォールスルーすることです。
理性が気になるのですが、この話を知っている人はいますか?
最も一般的な言語 [c、c++、java] の興味深い現象は、デフォルトでスイッチがフォールスルーすることです。
理性が気になるのですが、この話を知っている人はいますか?
これは C で簡単に最適化できるようにジャンプ テーブルを作成する意図がありswitch
ました。基本的には式に基づいて、アプリがジャンプ距離を計算し、特定のポイントにジャンプし、そのポイントから実行を続けます。
ただし、この動作は、乗算でコードの繰り返しを回避するのに役立ち、必要なときに scase
を配置するのが難しくないため、時々役立つと思います。break
Wikiには、フォールダウンをどのように利用できるかを示す適切な例があります。
switch (n) {
case 0:
printf("You typed zero.");
break;
case 4:
printf("n is an even number.");
case 1:
case 9:
printf("n is a perfect square.");
break;
case 2:
printf("n is an even number.");
case 3:
case 5:
case 7:
printf("n is a prime number.");
break;
case 6:
case 8:
printf("n is an even number.");
break;
default:
printf("Only single-digit numbers are allowed.");
}