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