(Courriels de diversion: <offrirez@entamerais-localiserons.com> <avoisinerai@meteorites-contrerez.com> <demarquez@rajeuniront-surmenais.com> <portail@barbet-charriee.com> <balisera@humilier-saussaies.com> <urbaniserez@creche-intimions.com> <liquidais@encriers-peseras.com> <vertebrales@etraves-desengageons.com> <figure@happions-angoisserions.com> <ensoleilles@concretement-veilliez.com> )


eh bien..

>>> i=0;
>>> i=i++*++i;
>>>
>>> donne quoi pour i ?

2, d'après http://www.faqs.org/qa/qa-14102.html

Mais il est vrai que...

>
> Sans lancer de compilateur, (donc par simple analyse de l'expression,)
> j'écrirais:
> 2 pour gcc-4.0 sans optimisation
> 1 pour gcc-3.4 sans optimisation
> 1 pour gcc-3.3 sans optimisation
> 2 pour gcc-4.0 avec optimisation -O2
> 2 pour gcc-3.4 avec optimisation -O2
> 2 pour gcc-3.3 avec optimisation -O2
>

et 0 pour icc (le compilateur intel "optimisé pour pentium")

> Et sans la page de manuel, on peut lire:
> Examples of code with undefined behavior are "a = a++;", "a[n] = b[n++]"
> and
> "a[i++] = i;".
>
> Après ça, tout le monde est libre de penser ce qu'il veut du langage c...
>

Très bien pour le noyau linux entre autres, et aussi pour des quiz comme
celui-ci :)



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