Руководство полного чайника по программированию на языке Си

       

ОПЕРАТОР break ("вывалиться из цикла")


Оператор break заставляет прервать выполнение тела цикла и сразу перейти к продолжению программы.

while(условие1){ операторы1;

if(условие2) break; ------->----+ | операторы2; | } | ...продолжение...<--------<---------+

и

for(i=0; условие1; i++){ операторы1;

if(условие2) break; ------->----+ | операторы2; | } | ...продолжение...<--------<---------+

Этот оператор позволяет организовывать дополнительные точки выхода из цикла (при дополнительных условиях).

Пример:

for(i=0; i < 20; i++){ printf("i=%d\n", i); if(i == 7){ printf("break loop!\n"); break; /* вывалиться из цикла */ } printf("more\n"); } printf("finished, i=%d\n", i); /* печатает 7 */

В частности, с его помощью можно организовывать бесконечный цикл:

for(;;){ /* заголовок бесконечного цикла */ операторы1;

if(условие2) break; ------->----+ | операторы2; | } | ...продолжение...<--------<---------+

Здесь в самом заголовке цикла НЕ ПРОВЕРЯЕТСЯ НИКАКИХ УСЛОВИЙ, такой цикл продолжается бесконечно. Условие продолжения считается всегда истинным.

Единственный способ выйти из него - это сделать break (при каком-то условии) в теле цикла, что и написано.

Бесконечный цикл можно также организовать при помощи while(1){ ... }



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