就好像:
switch (color)
{
case 1:
printf("reds");
break;
case 2:
printf("yellows");
break;
case 3:
printf("blues");
break;
default:
printf("whites");
break;
}
switch (color)
{
case 1:
printf("reds");
case 2:
printf("yellows");
case 3:
printf("blues");
default:
printf("whites");
}
如果color值爲2,程序會答應出yellowsblueswhites, 因爲程序的控制流程在執行了第二個printf調用後,會自然地順序執行下去。
所以,用switch語句有下列注意點:
1。每個case語句的結尾都要加break,如果不需要加的,最好加個註釋/* Fall through */說明一下,而default後的那個break只是偶的個人習慣而已,
可以不加的。
switch (color)
{
case 1:
printf("reds");
break;
case 2:
/* Fall through */
case 3:
printf("blues");
break;
default:
printf("whites");
break;
}
2。不要忘記最後那個default 分支。即使程序真的不需要default 處理,也應該保留語句 default : break; 這樣做並非多此一舉,而是爲了防止別人誤以爲你忘了default 處理。