O comando continue em C

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.
[sourcecode language=”cpp”]

#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;
}

[/sourcecode]

TELA DE EXECUÇÃO

exemplo 1 comando continue

Tela de execução do comando continue

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.
[sourcecode language=”cpp”]

#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;
}

[/sourcecode]

TELA DE EXECUÇÃO

execução exemplo 2 comando continue

Tela de execução do comando continue

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!