Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le C animé par le diable?

Probleme avec ++ !

    24 juillet 2006 à 19:44:09

    Bonjour amis Zéros,

    Regardez ce code source,

    #include <stdio.h>
    #include <stdlib.h>

    void affichage(int b);
    void modification(int *b);
    void modificationmarchepas(int *b);

    int main(int argc, char *argv[])
    {
      int b=666;
      affichage(b);
      modification(&b);
      affichage(b);
      modificationmarchepas(&b);
      affichage(b);
      system("PAUSE");     
      return 0;
    }

    void affichage(int b)
    { 
       printf("b vaut %d\n",b);     
    }

    void modification(int *b)
    {                 
       *b=*b+1;     
    }

    void modificationmarchepas(int *b)
    {
          *b++;     
    }

    Selon vous, combien fera b à la fin? pour moi 668 mais bon.. ....non il fait 667 !

    Comment cela se fait t'il? Aucune différence entre mes 2 fonctions sauf les instructions qui devraient être égales !
    • Partager sur Facebook
    • Partager sur Twitter
      24 juillet 2006 à 19:46:36

      http://www.ltam.lu/cours-c/prg-c36.htm

      >> il fait ++ sur l'adresse, puis accede à son contenu avec * pour en faire.. rien.
      • Partager sur Facebook
      • Partager sur Twitter
        24 juillet 2006 à 20:26:16

        Un code correct serait donc :
        (*b)++;
        • Partager sur Facebook
        • Partager sur Twitter
          24 juillet 2006 à 20:47:56

          nickel les mecs^^ merci pour tout ca^^
          • Partager sur Facebook
          • Partager sur Twitter
            24 juillet 2006 à 22:29:04

            pourquoi l'ordinateur fait t'il ++ sur l'adresse au mieu de la valeur de la variable?
            il me semble qu'en fesant *b++ on dit à l'ordinateur d'incrémenter la variable pointer par le pointeur. o_O Sa me donne mal a la tête ces ******** de pointeurs desfois :colere2:




            • Partager sur Facebook
            • Partager sur Twitter
              24 juillet 2006 à 22:35:37

              Priorité des opérateurs (cf mon lien). Rien à voir avec les pointeurs.
              • Partager sur Facebook
              • Partager sur Twitter

              Le C animé par le diable?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown