Problème avec printf ^^ - Page 2

Résolu
  1. Bonne question pourquoi ?
    1. Contributeur
      parce que si tu regardes le code qu'on a doné, lors de la réservation, on prévoit un tableau de 100 caractères, donc 99 utilisables
  2. Oki ... Et tu es sûr que c'est le printf qui plante ? Mets-le en commentaire et lance ;)
    1. à partir d'où exactement ça plante, essaie de mettre des printf intermédiaires pour voir où est le problème...
      t'as écrit #include <stdio.h>??
      1. A priori, le programme ne plante pas sans le dernier printf, donc ... :/ Et s'il manquait une lib, la compilation échouerait ...
        1. Nan mais les gars essayez déjà en enlevant le caractère "&" dans les scanf sur des chaînes de caractères :O
          1. Effectivement Kuchi ..... T_T
            1. Contributeur
              en effet, les chaines de caractères sont déja des pointeurs (tableau de char = char *)
              le & est indispensable pour les autres types (int, double, float, etc)
          2. Quoique en fait en remettant les & ça passe aussi, hum à force de faire plusieurs trucs on en oublie les bases... ouarf. Bref visiblement ça marche même avec le caractère &, le compilateur doit surement interpréter &prenom[0] je suppose.

            Bref sinon l'erreur vient de la ligne

            char prenom, nom, avis [100];

            Il faut déclarer prenom[100], nom [100], avis [100];
            Autrement prenom et nom sont sur un caractère et pas une chaine et le %s n'est pas valide également dans ce cas.

            Bref essayes ça :O

            En tout cas moi je fais marcher le prog en trente secondes.
            1. Contributeur
              exact. J'avais moi non plus pas fait attention au début ;)
                  char prenom[100], nom [100], avis[100];
                  scanf("%s",prenom);
                  printf("Entrez Votre nom : ");
                  scanf("%s",nom);
                  printf("\nQu'elle votre reaction a propose de ce programme ? ");
                  scanf("%s",avis);
              


              essayes de faire toutes tes déclarations au meme endroit: au tout début de ton code
            2. Contributeur
              Quoique en fait en remettant les & ça passe aussi,
              le compilateur doit surement interpréter &prenom[0]
              Non il interprète bien &prenom. Cela marche certes, mais le problème est surtout d'un point de vue de correspondance des types (char ** au lieu de char*).

              Cdlt
          3. SUUUppppeeeerrrrrrrrrrrrr !!!!!!!!!!!!!

            ça marche ^^

            MERRRRRCCCCCIIIIIIII

            je reviendrai vous posez quelque question de tps a autre.
            Ce programme est mon premier ^^
            D'autre viendront plus tard.
            1. Contributeur
              courrage et persévérence seront tes amis face aux dangers qui te guettent sur le chemin de la connaissance du C++ ;)

              prochaines fois, n'oublies pas de passer le sujet en résolu quand tu as eu la réponse a ta question !
              Précédent
              • 1
              • 2