1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Exercice pour les intelligents

abdelouafiDec 29, 2016

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Exercice pour les intelligents
      #include<stdio.h>
      main(){
      int i=1;
      printf("%d%d%d",i,++i,i++);
      }
      quel est le résultat de ce programme??

      Sachant que Printf évalue les variables de droite à gauche!! Sequence-of-Printing-Evaluating-Expressions-in-Printf.png

      vos commentaires svp
       

      Attached Files:

      Last edited: Dec 29, 2016
      Loading...
    2. ismail

      ismail New Member

      Messages:
      1
      Likes Received:
      1
      Trophy Points:
      3
      Joined
      Oct 14, 2016
      122?
       
      1 People like this
    3. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      nn cher Ismail ci faut
       
    4. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      y a t'il d'autre propositions?? ;) ;)
       
    5. karim tibba

      karim tibba New Member

      Messages:
      1
      Likes Received:
      1
      Trophy Points:
      3
      Joined
      Oct 11, 2016
      221
       
      1 People like this
    6. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      nn ci faux cher karim
       
    7. Abdelilah Boutizoua

      Abdelilah Boutizoua New Member

      Messages:
      2
      Likes Received:
      3
      Trophy Points:
      3
      Joined
      Oct 20, 2016
      122
       
      2 Peoples like this
    8. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      non ci faux
       
    9. mohssine

      mohssine New Member

      Messages:
      2
      Likes Received:
      0
      Trophy Points:
      1
      Joined
      Oct 13, 2016
      123
       
      Solution de l'exercice pour les intelligents:
      En langage c il existe différentes méthodes pour utiliser les opérateur d'incrémentation. Dans cet exemple on va voir l'impact d'utiliser plusieurs opérateurs d'incrémentation (ou décrémentation) dans la fonction "Printf".

      Code:
      #include<stdio.h>
      
      
      void main() {
      
        int i = 1;
      
        printf("%d %d %d", i, ++i, i++);
      
      }
      Le résultat est:

      font-family:Consolas;color:#333333">3 3 1


      Description du programme:

      C'est normal de ne pas avoir la bonne réponse dans un première temps, surtout si vous avez visualiser l'image ci-dessus.

      1- Si vous avez plus d'un code format %d, alors ils sont reliés directement ou indirectement chacun avec chaque variable (i, i++, ++i). Donc il faut évaluer chaque expression de droite à gauche.

      2- Comme déjà montré dans l'image ci-dessus, l'évaluation des expressions dans printf sera i++ d'abord, puis ++i et finalement i (i++,++i,i).

      3- Après exécution, il faut placer le résultat de chaque expression dans sa place selon le code format du printf. voici le résumé de l'exécution du programme étape par étape:


      [​IMG]


      Ci dessous l'exécution du programme étape par étape:

      Après l'étape 1: printf("%d %d %d", i, ++i, 1);

      Après l'étape 2: printf("%d %d %d", i, 3, 1);

      Après l'étape 3: printf("%d %d %d", 3, 3, 1);

      et donc le résultat à l'écran sera :

      3 3 1
      [​IMG]

Share This Page

Share