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

Exercice Pour les intelligent Numéro 2

abdelouafiDec 30, 2016

?

Quel est le résultat de ce programme??

  1. 1 et 1

    0 vote(s)
    0.0%
  2. 2 et 2

    1 vote(s)
    100.0%
    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      C'est quoi le résultat de ce programme ??
      Code:
      #include<stdio.h>
      #include<conio.h>
      
      void main() {
         int i = 0, j = 0;
         j = i++ + ++i;
         printf("%d\n", i);
         printf("%d\n", j);
      }

      Cliquez sur "solution" en haut de la page pour voir la correction
       

      Attached Files:

      Last edited: Dec 30, 2016
      Loading...
    2. Abdelilah Boutizoua

      Abdelilah Boutizoua New Member

      Messages:
      2
      Likes Received:
      3
      Trophy Points:
      3
      Joined
      Oct 20, 2016
      i = 2
      j = 2
       
      1 People like this
    3. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      oui c'est correcte, mais il faut démontrer pourquoi??
       
    4. achbaro

      achbaro New Member Staff Member

      Messages:
      1
      Likes Received:
      1
      Trophy Points:
      3
      Joined
      Dec 30, 2016
      2 2
       
      1 People like this
    5. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      oui ci correct
       
    6. mohssine

      mohssine New Member

      Messages:
      2
      Likes Received:
      0
      Trophy Points:
      1
      Joined
      Oct 13, 2016
      i=2 et j=2
       
      une image vaut mieux qu'une longue explication.
      [​IMG]

      j= i++ + ++i;
      L'instruction ci-dessus contient quatre opérations:
      1. Affectation à j
      2. Post incrémentation de i
      3. pré incrémentation de i
      4. et l'opérateur +
      Maintenant on va voir le classement de ces 4 opérations:
      [​IMG]

      1. La première étape l'instruction de pré-incrémentation sera exécutée en premier, le i sera incrémenté (i=1)

      2. Dans la seconde étape, l'instruction de post incrémentation sera exécutée. Mais elle n'incrémentera pas la valeur réelle de i mais l'incrémentation sera en cours d'exécution. donc on utilisera i=1 puis le i sera incrémentée.

      3. Donc j= 1+1 , j=2


      Étape 1 : j = i++ + 1;

      Étape 2 : j = 1 + 1; (post-incrémentation en cours d'exécution)

      Étape 3 : j = 2; (Addition)

      Étape 4 : j = 2; (affectation)

      Étape 5 : post-incrémentation sera exécuté donc i=2

Share This Page

Share