Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de la fonction choixPrenom

Sujet résolu
    7 février 2006 à 14:24:01

    Je ne comprends pas pourquoi la fonction n'a pas renvoyé le prenom dans ma fonction main et donc rien ne s'affiche lorqu'on revient dans le main. :(
    Pouvez-vous m'aider s'il vous plaît? :p



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

    char choixPrenom();

    int main(int argc, char *argv[])
    {
      char prenom[50] = "";
      printf("Bienvenue dans mon RPG !\n");
      prenom[50] = choixPrenom();
      printf("%s\n", prenom);
      system("PAUSE");     
      return 0;
    }

    char choixPrenom()
    {
     char prenom[50];
     printf("Quel est ton prenom ?\n");
     scanf("%s", &prenom);
     printf("Ainsi tu t'appelles %s, quel joli prenom !\n", prenom);
     return prenom;   
    }

    • Partager sur Facebook
    • Partager sur Twitter
      7 février 2006 à 14:54:06

      Essaye ça :



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

      char* choixPrenom();

      int main(int argc, char *argv[])
      {
        printf("Bienvenue dans mon RPG !\n");
        printf("%s\n", choixPrenom());
        system("PAUSE");     
        return 0;
      }

      char* choixPrenom()
      {
       char prenom[50];
       printf("Quel est ton prenom ?\n");
       scanf("%s", prenom);
       printf("Ainsi tu t'appelles %s, quel joli prenom !\n", prenom);
       return prenom;   
      }



      ;)
      • Partager sur Facebook
      • Partager sur Twitter
        7 février 2006 à 15:02:19

        ça ne marche pas non plus mais merci quand même ;)
        une autre solution lol ? :p
        sinon au pire je me tracasse pas la tête à faire une autre fonction pour le prénom mais je préfère prendre des risques :D
        • Partager sur Facebook
        • Partager sur Twitter
          7 février 2006 à 16:58:08

          met ta varaibles entre les parenthèses lorsque tu passe prenom dans ta fonction car une variable (sauf si elle est globale) ne se transmet pas d'une fonction a une autre
          • Partager sur Facebook
          • Partager sur Twitter
            7 février 2006 à 17:11:46

            ben je ne comprends pas parce que j'ai crée la variable "prenom" dans les deux fonctions donc normalement y'a pas de problème
            merci quand même
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              7 février 2006 à 17:17:09

              Tadam!
              char* choixPrenom(prenom)
              {
               printf("Quel est ton prenom ?");
               scanf("%s", prenom);
               printf("Ainsi tu t'appelles %s, quel joli prenom !\n", prenom);
               return prenom;
              }
              • Partager sur Facebook
              • Partager sur Twitter
                7 février 2006 à 18:24:09

                ohhh merci ça marche maintenant
                mais qui peut m'expliquer pourquoi on peut pas faire comme j'ai fait, pourquoi doit-on envoyer une variable à la fonction pour travailler au lieu d'en créer deux ? :D
                • Partager sur Facebook
                • Partager sur Twitter
                  8 février 2006 à 13:31:15

                  Je crois que le problème ne venait pas de la variable crée à nouveau dans la fonction mais du "&" devant le nom de ton tableau car un tableau est déjà un pointeur.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    8 février 2006 à 15:11:59

                    Citation : kazekage

                    ohhh merci ça marche maintenant
                    mais qui peut m'expliquer pourquoi on peut pas faire comme j'ai fait, pourquoi doit-on envoyer une variable à la fonction pour travailler au lieu d'en créer deux ? :D


                    Ben je ne sais pas, mais c'est comme ça sinon ça ne marche pas.. je crois que tu ne peut pas renvoyer de chaînes de caractères
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 février 2006 à 15:35:30

                      Il me semble que tu ne peux pas renvoyer une chaine de caracteres sous forme d'un tableau mais sous forme d'un pointeur sur le premier caractère
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Problème de la fonction choixPrenom

                      × 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