i
будет увеличено в конце внутреннего цикла. Но continue LABEL2
выпрыгивает из внутреннего цикла, до конца внешнего цикла, поэтому i
не увеличивается; вместо этого только j
увеличивается до тех пор, пока условие внешнего контура больше не будет удовлетворено.
Возможно, это становится яснее, когда мы переписываем код с помощью while
петель:
int j=0;
int i = 0;
while (j<3) {
while(i<3) {
if (true)
goto END_OF_LOOP2;
END_OF_LOOP1: i++;
}
END_OF_LOOP2: j++;
}