Por: Eduardo Casavella
A instrução continue é um comando de desvio incondicional.
Sua utilização dentro de um laço faz com que a execução da instrução atual (ou bloco de instruções atual) seja interrompida e passa para a próxima iteração do laço.
Note bem que o funcionamento do comando continue é diferente do comando break.
Enquanto no break termina o laço abruptamente, o comando continue não termina o laço e sim pula os comandos intermediários e passa para a próxima iteração.
No continue a condição do laço continua sendo testada, bem como o incremento também continua sendo executado.
Exemplo:
Vejamos um programa em linguagem C que utiliza o comando continue.
#include <stdio.h> #include <conio.h> int main(void) { int i; for(i = 1; i < 10; i++) { if (i % 2 == 0) //se i for par não faz nada e pula para a próxima iteração { continue; } else // senão imprime os ímpares { printf("Numero: %d \n",i ); } printf("Numero impar!\n\n"); } printf("Final do programa!\n\n"); getch(); return 0; }
TELA DE EXECUÇÃO
Observe que a execução do comando continue faz com que o programa pule para a próxima iteração do laço, sendo assim, o printf(“Numero impar!\n\n”); não é executado mesmo estando dentro do laço.
Como podemos, ver o bloco de instruções que contém esse printf foi interrompido e o programa pulou para a próxima iteração do loop toda vez que encontrou um valor par.
Mas e se ao invés de continue utilizassemos o break?
Neste caso, no primeiro valor par o break seria executado e o laço interrompido.
Veja o código usando break e a tela de execução.
#include <stdio.h> #include <conio.h> int main(void) { int i; for(i = 1; i < 10; i++) { if (i % 2 == 0) //se i for par executa o break { break; } else // senão imprime os ímpares { printf("Numero: %d \n",i ); } printf("Numero impar!\n\n"); } printf("Final do programa!\n\n"); getch(); return 0; }
TELA DE EXECUÇÃO
Note que ao encontrar o primeiro valor par o break foi executado, o que interrompeu o laço e foi para o final do programa.
Até a próxima!