Se uma x variável se encontrar isolada ++x e x++ são equivalentes?
No código abaixo usar pré-incremento ou pós-incremento não fará diferença:
#include <stdio.h>
int main() {
int x = 0;
x++; // ou ++x
printf("%d\n", x);
return 0;
}
Não é que x++ e ++x sejam equivalentes no caso acima. O que acontece é só que vc não verá os efeitos deles em ação.
Pós-incremento
#include <stdio.h>
int main(void) {
int x = 0;
int y = x++;
printf("%d, %d\n", x, y); // imprime 1, 0
return 0;
}
No caso acima o valor de x será armazenado em y e, em seguida, x será incrementado.
Pré-incremento
#include <stdio.h>
int main(void) {
int x = 0;
int y = ++x;
printf("%d, %d\n", x, y); // imprime 1, 1
return 0;
}
No caso acima x será incrementado e, em seguida, seu valor (já incrementado) será armazenado em y.
2 curtidas