case 条件: 処理 case 条件: 処理 default: 処理 } |
< 1> < 2> < 3> < 4> < 5> < 6> < 7> < 8> < 9> < 10> < 11> < 12> < 13> < 14> < 15> < 16> < 17> < 18> | int main(void) { int n=10; switch(n){//nを指定してswitchブロックを開く case 5://n==5の時、ここに来る puts("5"); default://他のcaseが全て成立しない時、ここに来る puts("default"); case 10://n==10の時、ここに来る puts("10"); case 15://n==15の時、ここに来る puts("15"); }//switchブロックの終点 puts("分岐終了。ここは n がいくつでも通る"); return 0; } |
< 1> < 2> < 3> < 4> < 5> < 6> < 7> < 8> < 9> < 10> < 11> < 12> < 13> < 14> < 15> < 16> < 17> < 18> < 19> < 20> < 21> < 22> | int main(void) { int n=10; switch(n){//nを指定してswitchブロックを開く case 5://n==5の時、ここに来る puts("5"); break; case 10://n==10の時、ここに来る puts("10"); break; case 15://n==15の時、ここに来る puts("15"); break; default://他のcaseが全て成立しない時、ここに来る puts("default"); break; }//switchブロックの終点 puts("分岐終了。ここは n がいくつでも通る"); return 0; } |
↓処理 →n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 他 |
---|---|---|---|---|---|---|---|---|---|
A | 1 | 1 | 2 | - | 2 | - | 2 | - | - |
B | - | - | 1 | - | 1 | - | 1 | - | - |
C | - | - | - | 1 | - | 1 | - | 2 | - |
D | - | - | - | 2 | - | 2 | - | - | 1 |
E | - | - | - | - | - | - | - | 1 | - |
< 1> < 2> < 3> < 4> < 5> < 6> < 7> < 8> < 9> < 10> < 11> < 12> < 13> < 14> < 15> < 16> < 17> < 18> < 19> < 20> < 21> < 22> < 23> < 24> < 25> < 26> < 27> < 28> < 29> < 30> < 31> < 32> < 33> < 34> < 35> < 36> < 37> < 38> < 39> < 40> | int main(void) { int n=1; //switchの場合 switch(n){ case 3: case 5: case 7: puts("処理B"); //↓貫通します case 1: case 2: puts("処理A"); break; case 8: puts("処理E"); //↓貫通します case 4: case 6: puts("処理C"); //↓条件付きで貫通します if(n==8)break; default: puts("処理D"); }//switchブロックの終点 puts("switch 分岐終了。\n"); //ifの場合 if((n==3)||(n==5)||(n==7))puts("処理B"); if(((n>=1)&&(n<=3))||(n==5)||(n==7))puts("処理A"); if(n==8)puts("処理E"); if((n==4)||(n==6)||(n==8))puts("処理C"); if((n<1)||(n>8)||(n==4)||(n==6))puts("処理D"); puts("if 分岐終了。\n"); return 0; } |