Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les calculs en C, c'est magique

    14 décembre 2005 à 20:30:55

    Voilà, comme conseillé à la suite du dernier chapitre de C, je voulais m'exercer à faire ma petite calculatrice... Et j'ai constaté, ô avec joie, qu'aucun calcul ne marchait :p Ils m'affichent tous un résultat bizarre, en 2293608...

    Bon, je vous montre un morceau de mon code (tout de même étrange, tous mes noms de variables sont cohérents)

    long nb1 = 0;
      long nb2 = 0;
      long resultat = 0;

    /*Je saute un passage qui ne nous concerne pas... */

    switch (menu)
      {
             case 1 :
                  printf("Nombre 1 :");
                  scanf ("%ld", &nb1);
                  printf("+\nNombre 2 :");
                  scanf ("%ld", &nb2);
                  resultat = nb1 + nb2;
                  printf("= %ld", &resultat);
                  break;
      }


    Donc je fais mon petit calcul et hop ! Magie ! 5+5 = 2293608 !

    Vous pourriez m'aider à vérifier mon code ?
    • Partager sur Facebook
    • Partager sur Twitter
      14 décembre 2005 à 20:38:39

      Heu essaye sans utiliser un switch c bizarre d'utiliser un switch pour ca ... c surtt compliqué et inutile
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        14 décembre 2005 à 20:42:15

        printf("= %ld", &resultat);

        affiche l'adresse de resultat en mémoire. Donc c'est pas du tout ce que tu veux, et tu dois le changer.

        L'erreur (bête, je pense que c'est une coquille) est liée à l'opérateur & (pas &&, & tout seul "collé" à une variable) que tu verras... plus tard.
        • Partager sur Facebook
        • Partager sur Twitter
          14 décembre 2005 à 20:44:36

            long nb1 = 0;
            long nb2 = 0;
            long resultat = 0;

                        printf("Nombre 1 :");
                        scanf ("%ld", &nb1);
                        printf("+\nNombre 2 :");
                        scanf ("%ld", &nb2);
                        resultat = nb1 + nb2;
                        printf("= %ld", resultat);
          • Partager sur Facebook
          • Partager sur Twitter
            14 décembre 2005 à 20:47:01

            Non mais moi, l'erreur de noob encore plus que noob... désolé d'avoir posté pour ça, j'aurais pu m'en apercevoir >_<
            • Partager sur Facebook
            • Partager sur Twitter

            Les calculs en C, c'est magique

            × 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