break文の動作

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もループの一種と考える

って覚えておこう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です