Ir ao conteúdo
  • Cadastre-se

C Sobre a Função For


Wiloud

Posts recomendados

Gente to tentando raciocinar o seguinte:

#include <stdio.h>

int main () {
	
	int contador;
	int numero = 1;
	
	for (contador=1; contador <= 10; contador = contador+numero) {
		printf("%i\n", contador);
		
		
	
		
	}
	
	return 0;
}

porque o resultado é (1,2,3,4,5,6,7,8,9,10)? Não deveria ser 2,3,4...? Porque o comando é:  Contador Vale 1, Contador for menor ou igual a 10, Então Contador+1.

Imprima na tela valor de contador. Por que não é 2? Ora, 1 é menor e nem igual a 10, então faça 1+1 que é 2, logo contador agora vale 2 e imprima o contador (2) e assim por diante né?

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Wiloud @Wiloud     primeiro ele faz o que está dentro do loop e depois ele incrementa o contador e verifica se é menor que dez . por isso ele imprime o número 1 que é o primeiro valor do contador  ,  e vai imprimindo até dez por tem o igual , aí ele incrementa o contador e dessa vez ao verificar ,  não é menor nem igual a dez  , pois é maior , aí ele não faz o que está dentro do loop    .

Link para o comentário
Compartilhar em outros sites

Boa noite Wiloud!

 

na estrutura de repetição FOR a parte do incremento é executada depois da execução das instruções do corpo do FOR.

 

for (contador=1; contador <= 10; contador = contador+numero) {

    printf("%i\n", contador);

}

primeiro = incializa a variável 'contador' atribuindo o valor 1.

segundo = verifica se o contador <= 10

terceiro = como a condição é atendida, executa o corpo do FOR

quarto = executa o incremento (contador + numero )

 

Por isso imprime 1,2,3,4....

 

Flws

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Pra deixar mais claro: for e while são intercambiáveis, ou seja, sempre pode substituir um pelo outro, escolher qual dos 2 usar é apenas uma questão de conveniência ou preferência, dependendo da situação simplesmente faz mais sentido usar um ou outro.

 

No caso do seu ciclo for:

int contador;
int numero = 1;

for (contador=1; contador <= 10; contador = contador+numero) {
    printf("%i\n", contador);
}

 

O ciclo while equivalente seria:

int contador;
int numero = 1;

contador=1;
while (contador <= 10) {
    printf("%i\n", contador);
    contador = contador+numero;
}

 

Note que a linha onde o contador é incrementado fica no final do ciclo while, isso porque como outras pessoas já mencionaram acima, o terceiro parâmetro do ciclo for só é executado após cada execução dos comandos listados dentro do ciclo.

 

Nesse caso a conveniência de usar for ao invés de while é que todas operações referentes ao contador que controla o ciclo ficam na mesma linha (inicialização, condição de parada e incremento), ficando mais fácil detectar erros ou fazer ajustes caso necessário.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...