Linguagem C: Qual a diferenca entre i++ e ++i?

Qual a diferença entre i++ e ++i? Essa é uma dúvida recorrente a todos os iniciantes em linguagens de programação como C, por exemplo.

Primeiro é necessário esclarecer que esse sinal ‘++’ representa o incremento. Ou seja ele aumenta em 1 o valor da variável que ele está acompanhando.


a=3;
a++;
printf("%d", a); //a tela exibirá o numero 4

Já o decremento “–“, diminui o valor de variável em 1…


a=3;
a--;
printf("%d", a); //a tela exibirá o numero 2

Bem. Já sabendo sobre isso, podemos tratar sobre…

Pre-Incremento/Decremento (++i, –i)

Veja o exemplo abaixo: no pré incremento, primeiramente  a variável ‘c’ é incrementada, e só depois atribuída a ‘d’:

int main()
{
  int c, d;
  c=6;
  printf("Pre-incremento\n");
  printf ("Numero sem incremento: %d\n", c); // 6
  d=++c; // O VALOR EH INCREMENTADO, E SÓ DEPOIS PASSADO PARA 'd'
  printf("Valor de 'c':%d\nValor de 'd':%d\n", c, d); // c = 7, d = 7
}
return 0;
}

Neste exemplo, ‘c’, que vale 6 é primeiramente incrementada e passa a valer 7. Somente depois disso, a variável – que já vale 7 – é atribuída a ‘d’, que também fica valendo 7.

já no…

Pós-Incremento/Decremento (i++, i–)

Primeiramente a variável é atribuída, e só depois incrementada:

int main()
{
  int c, d;
  c=6;
  printf("Pos-incremento\n");
  printf ("Numero sem incremento: %d\n", c); // 6
  d=c++; // O VALOR EH PASSADO PARA 'd', E DEPOIS INCREMENTADO
  printf("Valor de 'c':%d\nValor de 'd':%d\n", c, d); // c = 7, d = 6
}
return 0;
}

Neste exemplo, ‘c’, que vale 6 tem seu valor atribuído a ‘d’, que fica valendo 6 tanbém. Somente depois dessa operação que ‘c’ tem seu valor incrementado, valendo então 7.

Simples, não?

Linguagem C no Facebook: clique aqui

Anúncios

Uma ideia sobre “Linguagem C: Qual a diferenca entre i++ e ++i?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s