Partage
  • Partager sur Facebook
  • Partager sur Twitter

code qui plante!!

comprends pas...

Sujet résolu
    18 avril 2006 à 17:24:57

    bonjour à tous,
    voilà deux jours que j'ai repris l'apprentissage du C que j'avais commencé à étudier il y a deux ans...et j'ai tout repris depuis le début!!
    je me suis dit que ça me ferais pas mal...et j'ai eu bien raisons puisque je plante déja sur un simple code de dix lignes avec pour seul complication une seul et unique variable!! :p
    voici donc mon code:

    Citation : code


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

    int main(int argc, char *argv[])
    {
    long code = 0;

    printf ("Veuillez entrer votre code d'acces: ");
    scanf ("%ld", code);
    if (code == 1804)
    {
    printf ("code accepte...\n\nBonjour!!");
    }
    else
    {
    printf ("code errone...");
    }
    system("PAUSE");
    return 0;
    }



    le problême est que lorsque je lance la compilation...bah il n'y a pas d'erreur...
    mais quand je lance le programme, j'obtiens un message d'erreur windows et ça plante chaque fois dés que je veux rentrer un chiffre!! o_O
    j'avoue que je ne comprends pas pourquoi...
    alors ma question est tout bêtement bah...pourquoi?...
    merci d'avance de m'aider...parce que je là je vois pas...^^

    Edit: je suis absolument désolé...je viens de m'appercevoir que j'avais oublie de mettre un "&" juste avant la variable code dans les première lignes!! :p
    désolé d'avoir fait mon boulet et d'avoir tiré la sirène d'alarme si rapidement au lieu de me pencher un peu plus sur la question!! :-°
    • Partager sur Facebook
    • Partager sur Twitter
      18 avril 2006 à 17:28:05

      c'est :
      scanf ("%ld", &code);

      EDIT : et puis met en couleur, il y a une balise fait pour ça, c'est plus pratique à lire ! ^^
      • Partager sur Facebook
      • Partager sur Twitter
        18 avril 2006 à 17:46:30

        oui...c'est vrai que ça fait un peu brouillon... :p
        en tout cas merci beaucoup de m'avoir fait remarquer ce petit oubli^^
        mais cette erreur m'emmène tout de même à une petite question...
        pourquoi si l'on oubli le signe "&" devant une variable le compilateur n'affiche t'il pas d'erreur?... :o
        • Partager sur Facebook
        • Partager sur Twitter
          18 avril 2006 à 17:51:48

          Car avec le signe & ça donne l'adresse de la variable. Alors que si tu met "variable" ça donne le contenu ( par exemple : 15) qui est aussi une adresse mais que tu n'a pas le droit d'utiliser.
          • Partager sur Facebook
          • Partager sur Twitter
            18 avril 2006 à 18:06:17

            ah ok...je comprends...
            il ne s'aggit pas réellement d'une erreur en fait...mais simplement d'un code non adapté au résultat escompté!!
            je comprends mieux maintenant pourquoi le compilateur ne considère pas ça comme une faute. merci de me l'avoir expliqué!! :)
            • Partager sur Facebook
            • Partager sur Twitter
              18 avril 2006 à 18:06:26

              D'ailleurs si tu veux perfectionner tes saisies :

              http://mapage.noos.fr/emdel/notes.htm#saisie

              Tien si tu veux devenir un boss des scanf :

              http://xrenault.developpez.com/tutoriels/c/scanf/ (je l'ai trouvé sur le premier site que je t'ai donné)
              • Partager sur Facebook
              • Partager sur Twitter
                18 avril 2006 à 18:18:44

                j'ai comme l'impression que "scanf" n'est pas souverain au pays de la saisi... o_O
                merci pour ces liens...je vais potasser tout ça afin de vraiment pouvoir employer les bonnes commandes au bon moment!!
                • Partager sur Facebook
                • Partager sur Twitter

                code qui plante!!

                × 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