(Courriels de diversion: <haschich@offrirez-entamerais.com> <localiserons@avoisinerai-meteorites.com> <contrerez@demarquez-rajeuniront.com> <surmenais@portail-barbet.com> <charriee@balisera-humilier.com> <saussaies@urbaniserez-creche.com> <intimions@liquidais-encriers.com> <peseras@vertebrales-etraves.com> <desengageons@figure-happions.com> <angoisserions@ensoleilles-concretement.com> )
i=0; i=i++*++i;
donne quoi pour i ?
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 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...
-------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>