(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/>