IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Réponse non comprise d'un exercice


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1
    Par défaut Réponse non comprise d'un exercice
    Bonjour,est ce que vous pouvez m'expliquer le résultat de l'exercice ci-dessous,;



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #include <stdio.h>
    main()
    {
       int N=10, P=5, Q=10, R;
       char C='S';
     
       N = 5; P = 2;
       Q = N++ > P || P++ != 3;
       printf ("C : N=%d P=%d Q=%d\n", N, P, Q);
     
       N = 5; P = 2;
       Q = N++ < P || P++ != 3;
       printf ("D : N=%d P=%d Q=%d\n", N, P, Q);
     
       N = 5; P = 2;
       Q = ++N == 3 && ++P == 3;
       printf ("E : N=%d P=%d Q=%d\n", N, P, Q);
     
       N=5; P=2;
       Q = ++N == 6 && ++P == 3;
       printf ("F : N=%d P=%d Q=%d\n", N, P, Q);
     
       N=C;
       printf ("G : %c %c\n", C, N);
       printf ("H : %d %d\n", C, N);
       printf ("I : %x %x\n", C, N);
       return 0;
    }
    je n'ai pas bien saisi la réponse de cette ligne printf ("C : N=%d P=%d Q=%d\n", N, P, Q); et cette ligne printf ("F : N=%d P=%d Q=%d\n", N, P, Q);
    A savoir le résultat de tout le programme est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    C : n=6 p=2 q=1
    	D : n=6 p=3 q=1
    	E : n=6 p=2 q=0
    	F : n=6 p=3 q=1
    	G : S S
    	H : 83 83
    	I : 53 53

    Et Merci

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 851
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par TahaMe Voir le message
    Bonjour,est ce que vous pouvez m'expliquer le résultat de l'exercice ci-dessous,;
    Bonjour

    1. on ne squatte pas les topics des autres => ouvre ta propre discussion
    2. on n'est pas là pour te faire tes exos
    3. il suffit de dérouler les opérations une à une selon l'ordre de priorité. Exemple Q = N++ > P || P++ != 3 => Va d'abord exécuter N++ > P (expression booléenne qui vaut 1 ou 0 selon que N est ou n'est pas plus grand que P ; puis va incrémenter N) puis va exécuter P++ != 3 (expression booléenne qui vaut 1 ou 0 selon que P est ou n'est pas différent de 3 ; puis va incrémenter P) puis va exécuter un "ou logique" entre le premier booléen et le second => Au final Q vaudra 1 ou 0 selon qu'au moins une des deux expressions précédentes est vraie ou aucune ne l'est, et dans le même temps N et P auront été incrémentés.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 515
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Q = N++ > P || P++ != 3 => Va d'abord exécuter N++ > P (expression booléenne qui vaut 1 ou 0 selon que N est ou n'est pas plus grand que P ; puis va incrémenter N) puis va exécuter P++ != 3
    Attention, P++ != 3 n'est évalué que si N++ > P vaut false.

    Je suis d'accord avec le reste de ton message.

Discussions similaires

  1. [XSLT] Syntaxe des namespaces (ns:tag) non comprise
    Par LoK dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 31/12/2006, 10h39
  2. [g++]Erreur de compilation non comprise
    Par GLDavid dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/05/2006, 15h16
  3. Notation non comprise ?
    Par fabszn dans le forum Linux
    Réponses: 2
    Dernier message: 28/12/2005, 11h11
  4. erreur non comprise cherche solution
    Par debC++ dans le forum C++
    Réponses: 12
    Dernier message: 17/06/2005, 16h11
  5. Erreur "indice hors limite(0)" non comprise
    Par Bruno1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 10/06/2005, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo