Язык С

Оператор CONTINUE


Оператор CONTINUE родственен оператору BRеак, но исполь- зуется реже; он приводит к началу следующей итерации охваты- вающего цикла (FOR, WHILE, DO ). В циклах WHILE и DO это оз- начает непосредственный переход к выполнению проверочной части; в цикле FOR управление передается на шаг реинициали- зации. (Оператор CONTINUE применяется только в циклах, но не в переключателях. Оператор CONTINUE внутри переключателя внутри цикла вызывает выполнение следующей итерации цикла). В качестве примера приведем фрагмент, который обрабаты- вает только положительные элементы массива а; отрицательные значения пропускаются.

FOR (I = 0; I < N; I++) { IF (A[I] < 0) /* SKIP NEGATIVE ELEMENTS */ CONTINUE; ... /* DO POSITIVE ELEMENTS */ }

Оператор CONTINUE часто используется, когда последующая часть цикла оказывается слишком сложной, так что рассмотре- ние условия, обратного проверяемому, приводит к слишком глу- бокому уровню вложенности программы.

Упражнение 3-6

--------------

Напишите программу копирования ввода на вывод, с тем ис- ключением, что из каждой группы последовательных одинаковых строк выводится только одна. (Это простой вариант утилиты UNIQ систем UNIX).


    Оператор

    CONTINUE;

    приводит к передаче управления на продолжающую цикл часть наименьшего охватывающего этот оператор оператора WHILE, DO или FOR; то есть на конец цикла. Более точно, в каждом из операторов

    WHILE(...) \( DO \( FOR(...) \( ... ... ... CONTIN: ; CONTIN: ; CONTIN: ; \) \) WHILE(...); \)

    Оператор CONTINUE эквивалентен оператору GOTO CONTIN. (За CONTIN: следует пустой оператор; см. П. 17.13.).



      Содержание раздела