problème avec la post-incrémentation
Bonjour, j'ai un problème avec la post incrémentation.
Code:
1 2 3 4 5 6 7 8 9
| int tab[2];
int n;
tab[0] = 1;
n = 0;
n = tab[n]++;
printf("n=%d\n", n);
printf("tab[0] =%d\n", tab[0] ); |
L'exécution de ce code affiche :
n=1
tab[0]=1
Le problème ne se produit pas avec la pré-incrémention (i.e. si je mets n = ++tab[n]).
Je sais également contourner le problème : en affectant le résultat de tab[n]++ à une autre variable que n, ça fonctionne. Mais j'aimerais bien comprendre pourquoi ce code ne fait ce que j'attends.
Merci de m'éclairer sur ce problème...
Maurice