07/03/16 02:44:12
>>8
for(;;){
for(;;){ /* C */
if(A)
break;
for(;;){ /* D */
if(B)
break;
}
}
}
}
↑これと↓これなら動作は同じ
for(;;){
if(A)
continue;
for(;;){
if(B)
break;
}
}
}
breakは直近のforを抜け出し、continueは直近のforを次に進める。
if(B)の直近のforは、Cのforではなく、中に新たに作ったDのforになるから、
同じ動作をさせるのなら、そこまで盲目的にcontinueに置き換えてはまずい。