Namespaces
Variants

continue statement

From cppreference.net

Hace que se omita la porción restante del cuerpo del bucle for , while o do-while envolvente.

Se utiliza cuando resulta incómodo ignorar la porción restante del bucle mediante sentencias condicionales.

Contenidos

Sintaxis

attr-spec-seq (opcional) continue ;
attr-spec-seq - (C23) lista opcional de atributos , aplicados a la sentencia continue

Explicación

La sentencia continue provoca un salto, como si fuera mediante goto , al final del cuerpo del bucle (solo puede aparecer dentro del cuerpo del bucle de for , while , y do-while ).

Para el bucle while , actúa como

while (/* ... */) {
   // ... 
   continue; // actúa como goto contin;
   // ... 
   contin:;
}

Para el bucle do-while , actúa como:

do {
    // ... 
    continue; // actúa como goto contin;
    // ... 
    contin:;
} while (/* ... */);

Para el bucle for , actúa como:

for (/* ... */) {
    // ... 
    continue; // actúa como goto contin;
    // ... 
    contin:;
}

Palabras clave

continue

Ejemplo

#include <stdio.h>
int main(void) 
{
    for (int i = 0; i < 10; i++) {
        if (i != 5) continue;
        printf("%d ", i);             // esta sentencia se omite cada vez que i != 5
    }
    printf("\n");
    for (int j = 0; j < 2; j++) {
        for (int k = 0; k < 5; k++) { // solo este bucle se ve afectado por continue
            if (k == 3) continue;
            printf("%d%d ", j, k);    // esta sentencia se omite cada vez que k == 3
        }
    }
}

Salida:

5
00 01 02 04 10 11 12 14

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 6.8.6.2 La sentencia continue (p: 111)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 6.8.6.2 La sentencia continue (p: 153)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 6.8.6.2 La sentencia continue (p: 138)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 3.6.6.2 La sentencia continue

Véase también

Documentación de C++ para continue statement