Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tableau de char

meme initialisation mais pas identiques...

Sujet résolu
    8 mars 2006 à 17:19:28

    Voila, pour mon Pendu (le TP ^^ ), j'ai beasoin de comparer deux tableaux de char... Or cela buggait et je ne comprenait pas pourquoi... J'ai donc fait un petit code a part pour voir "ou était l'erreur" :euh:

    J'initialise deux tableaux de char par "A", je les affiches, ils affichent tous les 2 "A". Ensuite, je fait une condition pour voir s'ils sont identiques et la mystere, ce n'est plus le cas o_O .Je ne comprend vraiment pas pourquoi alors si quelqu'un peut éclairer ma lanterne :D

    Voici le code...

    char motCache[25]="A"‚ lettresTrouvees[25]="A";
    printf("%s\n"‚ motCache);
                printf("%s"‚ lettresTrouvees);
    if (motCache==lettresTrouvees)
            {
                printf("tableaux identiques");
            }



    ou alors, est ce que seulement la fonction strcmp fonctionne pour comparer deux chaine ?
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2006 à 17:25:11

      Pour comparer deux chaine utilise pultôt la fonction strcmp du cour : Je te donne même le lien. Cette fonction renvoi 0 si les deux chaines sont identiques. :)

      Information à verifier mais de toute facon "motCache" et "lettresTrouvees" sont plus vastes. Essai ton code avec motCache[0]==lettresTrouvees[0] !
      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2006 à 17:49:28

        Merci, cela marche correctement avecstrcmp mais ca aurait été plus pratique pour moi que mon premier code fonctionne...
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          8 mars 2006 à 18:02:25

          Comme les noms de tableaux sont implicitement convertis en pointeurs, tu compares des pointeurs. Ils sont égaux si ils pointent sur la même adresse (et dans ce cas en général les valeurs sont égales aussi, logique :D ), mais quand on crée plusieurs variables, elles sont à des adresses différentes, donc on peut plus comparer les pointeurs.

          En gros, on ne peut utiliser que strcmp (qui en fait compare chaque caractère un à un, seule solution pour comparer des chaînes).
          • Partager sur Facebook
          • Partager sur Twitter
            8 mars 2006 à 18:57:25

            Oui c'est ce que je pensait aussi mais j'hésitait, je ne voulais pas dire de bêtises :p
            • Partager sur Facebook
            • Partager sur Twitter

            Tableau de char

            × 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