Yann Secq wrote:
> Bonjour, j'ai un comportement que je n'arrive pas � expliquer
> avec l'op�rateur de post-incr�mentation en Java :
>
> public class Test
> {
> public static void main(String[] args){
> int taille = 0;
> taille = taille++;
> System.out.println(taille);
> }
> }
Bon, j'explique comment ca marche en java, on notera juste qu'en C,
le comportement n'est pas d�finie par la norme.
le ++ est un operateur d'incrementation post evalue par rapport
� l'expression (c'est le mot important) dans lequel il est ecrit.
Ici, dans l'instruction taille=taille++,
l'expression correspond � taille++.
donc la machine virtuelle evalue la valeur de taille (la valeur
le l'expression taille++) qui vaut 0 puis on effectue
la post-incrementation (donc taille vaut 1)
enfin on stocke dans taille le resultat de l'expression
donc taille vaut 0.
voila, c'est normal, sinon il y a une regle de bonne
programmation qui dit que l'on ne met pas dans une
meme instruction plusieurs assignations
(le ++ est consid�r� comme une assignation),
ca evite les surprises.
Remi