Por: Eduardo Casavella
Um loop ou laço infinito é aquele que apresenta sempre uma condição de teste verdadeira,ou seja, nunca termina.
Algumas vezes, o iniciante em programação cai em um loop infinito de forma acidental.
Isto ocorre quando escreve acidentalmente uma condição que jamais será satisfeita, ou então esquece de alterar o valor da variável de controle do laço fazendo com que a condição permaneça verdadeira para sempre.
Existem porém, programadores que usam loop infinitos em situações em que não se sabe quantas vezes a repetição será executada.
A idéia é fazer com que a condição de teste que controla a repetição seja sempre verdadeira.
Mas se a condição de teste é sempre verdadeira, como sair do laço?
Para sair do laço infinito usa-se break para forçar a saída quando uma determinada condição ocorrer.
Exemplo de loop infinito com for
quando nada é colocado dentro da estrutura de repetição for, a condição é considerada verdadeira.
for( ; ; )
{
}
Exemplo de loop infinito usando for com uma condição de saída usando break;
#include <stdio.h>
#include <conio.h>
int main (void)
{
int n;
/*
laço for vazio gera um loop infinito
pois na prática, como não existe a condição
ela é considerada verdadeira
*/
for (;;)
{
printf("Digite um numero inteiro: ");
scanf("%d", &n);
if (n == 7)
{
printf("Saindo do loop...\n");
break; //força a saída do loop
}
printf("Numero: %d\n",n);
}
printf("Fim de programa");
getch();
return(0);
}
Tela de Execução
Exemplo de loop infinito com while
While(1)
{
instruções;
}
Exemplo de Código
#include <stdio.h>
#include <conio.h>
int main (void)
{
int n;
/* while (1) – condição verdadeira
gerando um loop infinito
*/
while (1)
{
printf(“Digite um numero inteiro: “);
scanf(“%d”, &n);
if (n == 7)
{
printf(“Saindo do loop…\n”);
break; //força a saída imediata do loop
}
printf(“Numero: %d\n”,n);
}
printf(“Fim de programa”);
getch();
return(0);
}
Tela de Execução
Até a próxima!


3 respostas a Loop infinito em C