Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


3.4. Sentencia continue: fuerza la siguiente iteración

(Nota: En la versión 2016 del curso tienes una variante más reciente y más detallada de este apartado)

Podemos saltar alguna repetición de un bucle con la orden “continue”:

/*---------------------------*/
/*  Ejemplo en C nº 34:      */
/*  C034.C                   */
/*                           */
/*  "for" interrumpido con   */
/*  "continue"               */
/*                           */
/*  Curso de C,              */
/*    Nacho Cabanes          */
/*---------------------------*/

#include 

int main()
{
  int i;

  for (i=0; i<=10; i++)
  {
    if (i==5) continue;
    printf("%d ", i);
  }
        
  return 0;
}

El resultado de este programa es:

0 1 2 3 4 6 7 8 9 10

En él podemos observar que no aparece el valor 5.

 

Ejercicio propuesto:

Ejercicios resueltos:

> ¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i<4; i++) printf("%d", i);

Respuesta: los números del 1 al 3 (se empieza en 1 y se repite mientras sea menor que 4).

> ¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i>4; i++) printf("%d", i);

Respuesta: no escribiría nada, porque la condición es falsa desde el principio.

> ¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i<=4; i++); printf("%d", i);

Respuesta: escribe un 5, porque hay un punto y coma después del “for”, de modo que repite cuatro veces una orden vacía, y cuando termina, “i” ya tiene el valor 5.

> ¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i<4; ) printf("%d", i);

Respuesta: escribe “1” continuamente, porque no aumentamos el valor de “i”, luego nunca se llegará a cumplir la condición de salida.

> ¿Qué escribiría en pantalla este fragmento de código?

for (i=1; ; i++) printf("%d", i);

Respuesta: escribe números continuamente, comenzando en uno y aumentando una unidad en cada pasada, pero si terminar nunca.

> ¿Qué escribiría en pantalla este fragmento de código?

for ( i= 0 ; i<= 4 ; i++) {
if ( i == 2 ) continue ; printf( "%d " , i); }

Respuesta: escribe los números del 0 al 4, excepto el 2.

> ¿Qué escribiría en pantalla este fragmento de código?

for ( i= 0 ; i<= 4 ; i++) {
if ( i == 2 ) break ; printf( "%d " , i); }

Respuesta: escribe los números 0 y 1 (interruumpe en el 2).

> ¿Qué escribiría en pantalla este fragmento de código?

for ( i= 0 ; i<= 4 ; i++) {
if ( i == 10 ) continue ; printf( "%d " , i); }

Respuesta: escribe los números del 0 al 4, porque la condición del “continue” nunca se llega a dar.

> ¿Qué escribiría en pantalla este fragmento de código?

for ( i= 0 ; i<= 4 ; i++)
if ( i == 2 ) continue ; printf( "%d " , i);

Respuesta: escribe 5, porque no hay llaves tras el “for”, luego sólo se repite la orden “if”.