Question concernant les prioritées?

Voir le sujet précédent Voir le sujet suivant Aller en bas

Question concernant les prioritées?

Message  Megan Fox le Mer 7 Jan 2009 - 13:51

Bonjour à tous,

Le but du sujet et de trouver les valeurs que vont prendre les variables après les différentes opérations.
Voici 2 cas:

Code:
N = 5; P = 2;
  Q = N++ > P || P++ != 3;
  printf ("C : N=%d P=%d Q=%d\n", N, P, Q);
Code:
N = 5; P = 2;
  Q = ++N == 3 && ++P == 3;
  printf ("E : N=%d P=%d Q=%d\n", N, P, Q);
Le réultat est le suivant:
1er cas: Q=1; N=6; P=2
2ème cas: Q=0; N=6; P=2

Je voudrais savoir pourquoi P n'est pas incrémenter.
Est-ce que, puisque la valeur de Q est déjà connue grâce au 1er membre de l'expression, le 2ème membre n'est pas traité?


Merci pour votre aide
@+

Megan Fox

Messages : 2
Date d'inscription : 29/12/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Question concernant les prioritées?

Message  -ed- le Jeu 8 Jan 2009 - 15:58

Megan Fox a écrit:Je voudrais savoir pourquoi P n'est pas incrémenter.
Est-ce que, puisque la valeur de Q est déjà connue grâce au 1er membre de l'expression, le 2ème membre n'est pas traité?
Oui.

Exemple connu :
Code:
if (p != NULL && *p != 0)
si p vaut NULL *p n'est pas évalué. Heureusement ! (comportement indéfini)

Si on met :
Code:
if (*p != 0 && p != NULL)
avec p = NULL, c'est le crash !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: Question concernant les prioritées?

Message  Megan Fox le Ven 9 Jan 2009 - 2:34

Ok, merci ed

Je n'avais pas trouvé l'explication.

@+

Megan Fox

Messages : 2
Date d'inscription : 29/12/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Question concernant les prioritées?

Message  Contenu sponsorisé Aujourd'hui à 15:25


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum