В противоположность оператору break, continue не останавливает исполнение цикла.
Вместо этого:
для цикла while - передает управление на проверку условия цикла
для цикла for - передает управление на обновление условия
Оператор continue может содержать необязательную метку. Тогда управление будет передано на следующую итерации внешнего цикла с такой меткой.
Пример: переход на метку
Выделить все
top:for(i=0; i<10; i++){for(j=0; j<10; j++){if(i==j)continue top
...
}}
В этом примере оператор continue при совпадающих i,j переведет управление сразу на следующую итерацию внешнего цикла по i.
Как и для оператора break, для перехода на метку вызов continue должен быть вложен в цикл с такой меткой.
Дежурная шутка
Посреди Атлантического океана тонет лайнер. Капитан в панике, и тут ему сообщают, что среди пассажиров есть раввин, который может совершать чудеса.
Его срочно приводят к капитану и тот просит:
— Рабби, что можно сделать?
— Интернет есть?
— Есть!
— Тогда продавайте корабль.