Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] les variables ne veulent pas sinnitier au lancement

même en geulant dessus !!!!

Sujet résolu
    22 décembre 2005 à 15:18:07

    bonjour tout le monde !!!


    voilà mon problême, j'ai réussi a faire le tp du chapitre 1 du tuto sur le c/c++ et a présent je rajoute des petits trucs par ci par là !!

    le problême, c'est que les variables ne s'initialisent pas ( elles ont pas la valeur 0 )

    bref si quelqu'un peut m'aider !!!

    un code source vaut mieux qu'un long discourt, donc :



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

    int main(int argc, char *argv[])
    {
       
        const long MAX = 100, MIN = 1;
        long nombreMystere ;
        long choix ;
        long choixprecedent ;
        long compteur ;
       
        nombreMystere = 0 ; // ici j'ai essayé d'initialiser les variables , autrement que en faisant long variable = 0; mais dans les 2 cas , ca ne marche pas !!
        choix = 0 ;
        choixprecedent = 0 ;
        compteur = 0 ;
       
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
       
       
        printf("Trouvez le nombre mystere, sa mere !!\n");
        printf("%ld \n",&choix); // j'ai mis ca pour voir si c'est initialisé, au lancement ,on devrait voir s'afficher théoriquement " 0 " puisque que cette variable est sensée etre initialisée !! mais ca ne marche pas et cela avec toute les autres variables !!
        scanf("%ld",&choix);
       
       
       
        while ( choix != nombreMystere )
        {     
              if( choixprecedent == choix )
              {
             
                  printf("hey, connard tu viens de le mettre !!");
                  scanf("%ld",&choix);
                  compteur++ ;
                  printf("%ld \n",&compteur);
              }
                 
              else if( compteur > 0 )
              {
                   printf("hey c'est la %ld eme fois que tu me prend pour un sourd !!!",&compteur);
                   scanf("%ld",&choix)
                   compteur++;
              }     
             
              else if( choix > nombreMystere )
              {
             
                  printf("C'est moins ,entre un autre chiffre !!\n");
                  scanf("%ld",&choix);
                  choixprecedent = choix;
                 
              }
             
              else if( choix < nombreMystere )
              {
             
                  printf("C'est plus ,entre un autre chiffre !!\n");
                  scanf("%ld",&choix);
                  choixprecedent = choix;
             
              }   
             
             
             
        }
       
        if ( choix == nombreMystere )
        {
             printf("C'est bien, maintenant tu peut aller te coucher !!!\n");
        }     
                 
     
      system("PAUSE");     
      return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      22 décembre 2005 à 15:25:35

      Lol c'est normal, tu demandes au programme d'afficher l'adresse de la variable, et non son contenu !!! Enlève ce '&' avant !
      • Partager sur Facebook
      • Partager sur Twitter
        22 décembre 2005 à 15:29:23

        heuuu je ne vois pas trop de quoi tu veux parler

        et surtout, une fois que le nombre au hazar est généré et que je le fait afficher de cette manière, il s'affiche comme il le faut, je ne crois pas que le problême vien de là, a moins que je t'ai mal compris !!!
        • Partager sur Facebook
        • Partager sur Twitter
          22 décembre 2005 à 15:31:07

          J'adore le "hey connard" qui defile en boucle infinie :)

          Sinon si j'ai bien compris Chahine, en fait tu t'es avancé jusqu'aux pointeurs ^^
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2005 à 15:37:19

            En fait il n'est pas besoin (et même il ne faut pas) de mettre '&' avant la variable dans un printf, seulement d ans un scanf...

            '&' indique 'adresse de', quand tu enregistres un texte, c'est vers une adresse, mais quand tu affiches un texte, c'est le contenu de l'adresse que tu veux !
            • Partager sur Facebook
            • Partager sur Twitter
              22 décembre 2005 à 15:39:37

              oui, je m'en suis rendu compte , merci et bonne journée !!!
              • Partager sur Facebook
              • Partager sur Twitter
                22 décembre 2005 à 15:42:41

                Merci toi aussi ! ^^

                N'oublie pas de marquer ton problème comme étant résolu !
                • Partager sur Facebook
                • Partager sur Twitter

                [C] les variables ne veulent pas sinnitier au lancement

                × 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