17Fermer19
GodzilLe 07/08/2007 à 09:16
java utilise un processeur a pile ?
Pollux (./15) :
Euh non là pas du tout, tu confonds associativité et ordre d'évaluation : l'associativité, c'est ce qui fait que x-y-z est compris comme (x-y)-z et pas x-(y-z) ; alors que l'ordre d'évaluation, c'est ce qui fait que x+(x++) équivaut à 2*(x++) et pas à 2*(x++)+1 (en Java en tout cas, en C c'est du code invalide)


Raté :

mtrapier@prod500 ~ $ cat test.c
#include <stdio.h>

int main()
{
 int x;
 x = 1;
 printf("x=%d\n", x);
 x = x+(x++);
 printf("x=%d after [x=x+(x++)]\n", x);
 return 0;
}
mtrapier@prod500 ~ $ gcc test.c -o test.app
mtrapier@prod500 ~ $ ./test.app
x=1
x=3 after [x=x+(x++)]
mtrapier@prod500 ~ $