break文は現在のループを抜けるための文である。
よって、
for(;;){
if(1)break;
}
だとfor文を抜ける。
for(;;){
for(;;){
if(1)break;
}
}
だと内側のfor文を抜ける。
が、switch文の場合は例外でswitch文しか抜けない。
for(;;){
switch(hoge){
case 0:break;
}
printf("breakの後はここにくる");
}
だと、switch文だけ抜けて、for文までは抜けない。
switch(hoge1){
case 0:
switch(hoge2){
case 0:break;
}
printf("breakの後はここにくる");
}
ネスト状態のswitch文だと内側のswitch文だけ抜ける
ややこしくてすぐ忘れるので注意。
・breakは内側のループを抜けるためにある
・switchもループの一種と考える
って覚えておこう。
コメントを残す