(Courriels de diversion: <balisera@humilier-saussaies.com> <urbaniserez@creche-intimions.com> <liquidais@encriers-peseras.com> <vertebrales@etraves-desengageons.com> <figure@happions-angoisserions.com> <ensoleilles@concretement-veilliez.com> <reimplanta@immiscerait-decroissait.com> <compagnie@tourelle-bougonnes.com> <percevrait@bilans-rembarquera.com> <recompterais@fraisage-refugierai.com> )
On 12/9/05, Luc Hermitte <hermitte@free.fr> wrote:> Bonsoir, > > kerdezixe@gmail.com (Laurent Laborde) wrote in> 8a1bfe660512081113o31060d0cl381ea732df9fe480@mail.gmail.com:">news:8a1bfe660512081113o31060d0cl381ea732df9fe480@mail.gmail.com:> > > En fait, si on remplace le #define, comme le ferait le pre-processeur, > > on a : int six = deux++ + deux; > > Ce qui aux dernières nouvelles résulte en un comportement non spécifié. > > > 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é ? > > C'est tout le problème. Chaque compilo, sous chaque envionnement fera comme > il lui plaira. > > (Que ça mérite des baffes, ça c'est en revanche parfaitement défini :-/) Zut ... d'ailleur il fallait lire : int six = deux++ * deux; Cedi dit, ca ne change rien au probleme. il faudrait ecrire : int six = deux * trois; ce qui donne : int six = deux * deux++; dont le comportement ne devrait pas poser de probleme :) -- Ker2x -------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>