Partage
  • Partager sur Facebook
  • Partager sur Twitter

Initialisé une variable en fonction d'une conditio

    14 décembre 2018 à 10:45:52

    Bonjour, je cherche à initialisé des variables à partir d'une condition je sais que lorsque je sort de la condition cela reviens à 0 et qu'il faut donc utiliser des pointeur mais je n'y arrive pas.

    Voici mon code :

    Int mat;
    
    Int note=0;
    
    scanf("%d", &mat);
    
    If (mat==1){note=10;} 
    
    Else if (mat==2){note=20;}
    
    Printf("%d",note)



    Ca me renvoie 

    0 même si mat vaux 1 ou 2.

    Pouvez vous m'aider s'il vous plaît ? 

    -
    Edité par Trakma 14 décembre 2018 à 11:04:01

    • Partager sur Facebook
    • Partager sur Twitter
      14 décembre 2018 à 11:20:59

      Si ca t'affiche 0 c'est qu'il n'est entré dans aucune des 2 condition.
      • Partager sur Facebook
      • Partager sur Twitter
        14 décembre 2018 à 12:40:11

        Si car si je met mat à 1 il rentre dedans mais comme tout bon bloc quand les changements de variables est dans un bloc quand ça en sort les variables reprennent les valeur d'avant la boucle (je sais que c'est pas hyper compréhensible ce que je viens de dire)
        • Partager sur Facebook
        • Partager sur Twitter
          14 décembre 2018 à 15:38:39

          Hello,

          Ce code ne compile pas, tu n'as donc pas pu le tester. Poste le bon code (au complet).

          • Partager sur Facebook
          • Partager sur Twitter

          On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

            14 décembre 2018 à 16:55:32

            Trakma a écrit:

            Si car si je met mat à 1 il rentre dedans mais comme tout bon bloc quand les changements de variables est dans un bloc quand ça en sort les variables reprennent les valeur d'avant la boucle (je sais que c'est pas hyper compréhensible ce que je viens de dire)


            Ce que tu dis est faux. Tu peux parfaitement changer la valeur d'une variable dans un bloc et que cette valeur n'en change pas a sa sortie. Et heureusement d'ailleurs.
            • Partager sur Facebook
            • Partager sur Twitter
              14 décembre 2018 à 17:11:57

              Ce serait vrai si une variable déclarée dans le bloc portait le même nom, ce qui n'est pas le cas ici.

              1) Ici 'note' a bien été modifiée :

              int note = 0 ;
              if (mat == 1)
              {
                  note = 10 ;
              }
              printf("Note : %d\n", note) ;
              

              2) Ici, par contre, il affichera toujours la valeur initiale :

              int note = 0 ;
              if (mat == 1)
              {
                  int note :     // c'est un autre 'note', qui n'existe que dans ce bloc
                  note = 10 ;
              }
              printf("Note : %d\n", note) ;  // on affiche le premier 'note', qui vaut 0
              

              Autre chose : ce que tu dis avec les pointeurs concerne les fonctions, pas les blocs en général.

              -
              Edité par robun 14 décembre 2018 à 17:13:51

              • Partager sur Facebook
              • Partager sur Twitter

              Initialisé une variable en fonction d'une conditio

              × 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