C - incremento e decremento de variável pré-fixado ou pós-fixado? Qual as diferenças? (int i; i++; ++i; i += 1; i = i + 1; i--; --i; i -= 1; i = i - 1)

Em C existem uma forma mais concisa de incrementar ou decrementar variáveis. Tomemos varia como nossa variável de exemplo. Podemos incrementar (somar 1) de algumas formas:

varia++

++varia

varia += 1

varia = varia +1

Essas quatro formas incrementam de 1 a variável varia, porém a forma varia++ faz de uma forma diferente e dependendo de onde for usada, pode ser mais ou menos interessante que as outras formas. Se estas formas de incremento estiverem dentro de algumas funções (como printf, por exemplo) os comportamentos apresentados serão:

- varia++: executa a função, depois incrementa;

- e demais: incrementa a variável, depois executa a função.

Por exemplo o código:

#include<stdio.h>
int main() {
  short das=0;
  printf("%hd\n", das++);//imprime depois incrementa.
  printf("%hd\n", das++);//imprime depois incrementa.
  printf("%hd\n", ++das);//incrementa depois imprime.
  printf("%hd\n", ++das);//incrementa depois imprime.
  printf("%hd\n", das=das+1);//incrementa depois imprime.
  printf("%hd\n", das);//imprime o valor da variável.
  printf("%hd\n", das++);//imprime depois incrementa.
  printf("%hd\n", das+=1);//incrementa depois imprime.
  printf("%hd\n", das);//imprime o valor da variável.
  return 0;
}

Vai produzir o seguinte output:

0
1
3
4
5
5
5
7
7

Se no lugar do sinal de + for usado um sinal de -, a variável será decrementada, mas segue a mesma sequência de execução.

-------------------------

Incentive nosso blog a produzir mais conteúdo. As formas de contribuir são:

Chave Pix email: jorgeubermensch@gmail.com

Utilize o código Shell Box: UKC1504

Comentários