-- switch文による制御 --
switch文による制御は、switch(変数)内に渡された変数値と後に続く{}までの範囲にcase句で指定された値が等しい場合に分岐に入って処理します。
case句に続くのは複文でbreak;が出てくるまで処理されます。
ということはcase句で分岐した分の中に再びcase句が出てくるとその句の持つ値と合致した場合はそのあとに続く分が処理されます。
#include <stdio.h>
int main()
{
int i;
for(i=0; i<6; i++) {
switch(i) {
case 0:
case 1:
printf("TypeA Number=%d\n",i);
// breakがないことに注意!!
case 2:
case 3:
printf("TypeB Number=%d\n",i);
break;
default:
printf("TypeC Number=%d\n",i);
}
}
}
これを実行してみるとswitch文とcase句およびbreak;文の関係性がよくわかると思います。