可能重复:
Why was the switch statement designed to need a break?
大多数流行语言[c,c ++,java]的有趣现象是默认情况下切换是直接的。
我很好奇理性,有人知道这个故事吗?
答案 0 :(得分:1)
在C中,其原因是打算将switch
轻松地设置为跳转表,基本上,根据表达式,应用程序将计算跳跃距离,跳转到某个点,然后继续从那时开始执行。
case
中的代码重复,毕竟当你使用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.");
}