accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Point de sequencement dans un appel de function

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.c ] 

Retour : Accueil du site fr comp lang c   charte stats de ce groupe


  Sujet:   Re: Point de sequencement dans un appel de function  
 De: Marc.Bo...@enseeiht.yahoo.fr.invalid (Marc Boyer)
 Groupes: fr.comp.lang.c
 Organisation: CICT
 Date: 28. Apr 2008, 09:01:15
 References: 1
On 2008-04-28, candide <c_candide@free.fr> wrote:
> Bonjour,
>
> Soit le code :
>
> ----------------------
> #include <stdio.h>
>
> int main(void)
> {
> int i = 10;
>
> printf("%d %d \n", i++,i);
> return 0;
> }
> ----------------------
>
> qui, à la compilation, m'affiche ceci :
>
> ----------------------
> candide@candide-desktop:~$ gcc -W -Wall -pedantic  -o x test.c
> test.c: In function «main":
> test.c:7: attention : operation on «i" may be undefined

  Il est gentil gcc.

> ----------------------
>
> J'ai cru que c'était un problème de point de séquencement ou d'ordre 
> d'évaluation des arguments mais j'ai l'impression que c'est plus grave 
> que ça.

  Non, non, c'est ça.

> Est-ce que le "undefined" dont parle gcc est un "undefined behavior" ?
>
> Est-ce que je tomberais sous le coup de
>
>      A.6.2 Undefined behavior
> (...)
> An object is modified more than once, or is modified and accessed
>     other than to determine the new value, between two sequence points

  Exactement.

> Le point de séquencement se produit à la fin de l'appel et non pas après 
> l'évaluation de _chaque_ argument, n'est-ce pas ? Car je trouve ceci pas 
> très clair :

  En effet, les points de séquencement ne sont pas ce qu'il y a de plus
clair dans la norme. Mais bon, ce cas là étant tellement connu, la
réponse à ta question est "oui": le point de séquencement se produit
à la fin de l'appel et non pas après l'évaluation de _chaque_ argument. 

Marc Boyer
-- 
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
                           IF -- Rudyard Kipling (Trad. André Maurois)


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)