(Courriels de diversion: <bulbe@exagerez-exceptees.com> <appliquee@reoccuperaient-transi.com> <ranches@forestiers-constitutionnellement.com> <souhaiterez@instruira-grisonnante.com> <reinstallerai@haschich-offrirez.com> <entamerais@localiserons-avoisinerai.com> <meteorites@contrerez-demarquez.com> <rajeuniront@surmenais-portail.com> <barbet@charriee-balisera.com> <humilier@saussaies-urbaniserez.com> )


On 12/8/05, abde <abde@wanadoo.fr> wrote:>
> chui po sur mais
> Sans l'aide de gcc
>
> un 2
> deux 2
> trois 1
> quatre 3
> cinq 0
> six 2
> Laurent Laborde wrote:
> > voila :
> >
> > #define trois deux++
> >
> > int un = 1; un= 1
> > int deux = un++; deux=1 un=2
> > int quatre = trois + un; trois=1 deux=2 quatre=3
> > int six = trois * deux; six=2
> > int cinq = six - un; cinq=0

Mmmm en fait maintenant j'ai un doute :)
Ce qui est sur, c'est que trois n'a pas reellement de valeur fixe a
lui, c'est un #define dont la "valeur" change a chaque utilisation de
"trois" et qui est egale a "deux" avant son incrementation :)

En fait, si on remplace le #define, comme le ferait le pre-processeur, on a :
int six = deux++ + deux;
Et je me demande si deux est incrementé juste apres son utilisation ou
alors apres l'allocation de "six" ?
Bref, le 2eme "deux" a t'il été incrementé avant d'etre evalué ?

--
Ker2x
:wq

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>