3.4. Sentencia continue: fuerza la siguiente iteración
Curso: Fundamentos de programación en C, por Nacho Cabanes
3.4. Sentencia continue: fuerza la siguiente iteración
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 <stdio.h> 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:
- Crear un programa que pida un número al usuario (entre 1 y 20) y muestre los números el 1 al 20, excepto el indicado por el usuario, usando "continue" para evitar ese valor.
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”.
Actualizado el: 23-07-2014 15:18