(Courriels de diversion: <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> <creche@intimions-liquidais.com> <encriers@peseras-vertebrales.com> <etraves@desengageons-figure.com> )
On 12/9/05, Emmanuel Chaput <Emmanuel.Chaput@enseeiht.fr> wrote:> Laurent Laborde wrote: > > > > >Les 3 comportements tiennent la route en fait. > > > > > > Oui absolument, mais je vous jure que j'ai vu des choses > beaucoup plus étranges ! Faites chauffer les ordinosaures ! > > >Ce qui n'est pas logique puisque les "," entre chaque "n++" devrait > >forcer la compilo a incrementer n. non ? > > > > > La virgule n'est pas une fin d'instruction, me semble-t-il. La virgule est un operateur qui se lit de gauche a droite. Il force l'evaluation de l'expression située a sa gauche. Ainsi, d'apres le K&R : f(1,(t=3,t+2),3) Reviens a ecrire : t=3; f(1,5,3); Mais peut importe, l'important est qu'il force l'evaluation de l'expression, et donc : n=0; n++,n++,n++; devrait donner : 0 puis incrementation de n, 1 puis incrementation de n, 2 puis incrementation de n. apres le ";" n = 3. non ? Je suis loin d'etre un specialiste du C (très loin), mais c'est ce que semble m'indiquer la norme ansi C. -- Laurent "ker2x" Laborde :wq -------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>