Dos proposiciones especiales
break; y continue;
interrumpen el flujo normal de control. La proposicion BREAK
provoca una salida del ciclo mas interno o proposicion SWITCH. En
el ejemplo siguiente se realiza una prueba para encontrar un argumento
negativo, y, si resulta verdadera, se utilizara una proposicion
BREAK para pasar el control a la proposicion inmediatamente posterior al
ciclo.
. . . . .
while (1) {
scanf("%d", &x);
if (x < 0)
break; /* salir del ciclo si el valor es negativo */
printf("%d\n", x);
. . . . .
}
/* la proposición break salta hasta aquí */
Este es un ejemplo tipico de BREAK. Lo que de otra forma
seria un ciclo infinito, puede terminarse con una condicion dada
despues de haberla probado con la expresion IF.
La proposicion CONTINUE hace que se detenga la iteracion actual de un ciclo y que se inicie de inmediato la siguiente. El codigo siguiente procesara todos los caracteres excepto los digitos:
for (i = 0; i < TOTAL; ++i) {
c = getchar();
if ('0' <= c && c <= '9')
continue;
. . . . . /* procesar otros caracteres */
/* continue transfiere el control hasta acá para empezar la
siguiente iteración */
}
La proposicion CONTINUE solo puede presentarse en ciclos
FOR, WHILE y DO. Como muestra el ejemplo, CONTINUE transfiere
el control al final de la iteracion actual, mientras que BREAK
concluye todo.