C'est la différence entre l'incrément de suffixe et de suffixe.
Voici un beau texte sur ce point:
http://www.java-samples.com/showtutorial.php?tutorialid=249
« Tant l'opérateur d'incrémentation (++) et l'opérateur de décrémentation (-) sont disponibles en deux variétés:. Préfixe et postfix La variété préfixe est écrit avant le nom de la variable (++ myAge), la variété postfix est écrite après (myAge ++)
Dans une déclaration simple, peu importe ce que vous utilisez, mais dans une instruction complexe, lorsque vous incrémentez (ou en décrémentant) une variable, puis en assignant le résultat à une autre variable, cela importe beaucoup. évalué avant l'affectation, le postfix est évalué après. La sémantique du préfixe est la suivante: incrémentez la valeur puis récupérez-la. La sémantique de postfix est différente: récupère la valeur puis incrémente l'original.
Cela peut être déroutant au premier abord, mais si x est un entier dont la valeur est comprise entre 5 et vous écrivez
int a = ++ x; vous avez dit au compilateur d'incrémenter x (en le faisant 6) puis d'extraire cette valeur et de l'assigner à un. Ainsi, un est maintenant 6 et x est maintenant 6.
Si, après avoir fait cela, vous écrivez
int b = x ++; vous avez maintenant demandé au compilateur d'aller chercher la valeur dans x (6) et de l'assigner à b, puis de revenir en arrière et d'incrémenter x. Ainsi, b est maintenant 6, mais x est maintenant 7. Listing ci-dessous montre l'utilisation et les implications des deux types. »
Code Posté est niether C++ ni C, s'il vous plaît ReTAG –
Mec ... sin Quand est-ce que les blagues se sont entièrement conformées à la vérité? en pliant les règles, ils font quelque chose de drôle. Si vous voulez prendre cela littéralement, 'C - C++' est COMPORTEMENT UNDEFINED! – thecoshman
@thecoshman: En C ou C++, il l'est, mais pas dans toutes les langues qui utilisent la syntaxe C-like. –