Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème compréhension de return

Sujet résolu
    21 septembre 2017 à 21:26:45

    Bonsoir, cela fait environ 2 semaines que je me suis mis à programmer mais je ne comprends pas exactement qu'est ce qu'il faut retourner avec return à la fin d'une fonction. Je ne comprends pas non plus le sens de retourner ou renvoyer, d'autres personnes m'ont expliquer et j'ai fait mine de comprendre pour ne pas les embêter plus que ça mais réellement je ne comprends pas return. Tout ce que je sais c'est que cela met fin à une fonction et quel peut être mis en fin de main() pour dire que le programme s'est exécuter sans problème ! Merci :pirate:
    • Partager sur Facebook
    • Partager sur Twitter
    Un bon programmeur est un programmeur fainéant !
      21 septembre 2017 à 21:40:01

      Coucou,

      Les paramètres d’une fonction sont ce que tu lui donne pour travailler et le return le résultat qu’elle te rend.

      Par exemple :

      /*
      Cette fonction prend un entier,
      calcule le triple de l’entier,
      et renvoi le résultat.
      */
      int triple(int n)
      {
          int n3 = n * 3; // Calcule le triple.
          // La fonction triple connaît maintenant le
          // triple de n, elle doit maintenant renvoyer
          // ce résultat à main pour que main connaisse
          // lui aussi le triple de n
          return n3;
      }
      
      int main(void)
      {
          // main souhaite connaître le triple de 4
          // il demande alors à triple de le faire
          // en faisant « triple(4) », main sait que
          // triple va lui répondre en lui donnant
          // le triple de quatre. Triple utilisera return
          // pour expédier le résultat qui sera réceptionné
          // par main dans « tripleDeQuatre ».
          int tripleDeQuatre = triple(4);
      
          // Puis main fais ce qu'il veut de ce nombre.
          printf("%d\n", tripleDeQuatre);
          return 0;
      }



      • Partager sur Facebook
      • Partager sur Twitter
        21 septembre 2017 à 21:46:30

        Hello,

        return resultat  permet de dire à l'appelant: j'ai effectué ce que tu m'as demandé, voici le résultat. Exemple: une fonction qui calcule le carré d'un entier:

        int square(int n) {
            return(n*n);    // envoie à l'appelant n*n
        }

        Et du côté de l'appelant:

        int k=3,squarek;
        
        squarek=square(k);
        printf("Le carré de %d vaut %d\n",k,squarek);

        Bien sur, le type de donnée que la fonction retroune (renvoie, kif kif bourricot tam tam) peut être n'importe quel type existant en C (ou encore, tout type de donnée défini dans ton programme)

        Quant à return - tout court - il permet de quitter une fonction void sans renvoyer de valeur, et n'est pas nécessaire si c'est la dernière instruction de la fonction:

        void waitKey(void) {
            getchar();
            return;    // pas nécessaire
        }

        -
        Edité par edgarjacobs 21 septembre 2017 à 21:48:55

        • 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

          21 septembre 2017 à 21:49:43

          « Bien sur, le type de donnée que la fonction retroune (renvoie, kif kif bourricot tam tam) peut être n'importe quel type existant en C (ou encore, tout type de donnée défini dans ton programme) »

          Sauf un tableau.:p

          -
          Edité par fscorpio 21 septembre 2017 à 21:50:45

          • Partager sur Facebook
          • Partager sur Twitter
            21 septembre 2017 à 21:54:06

            fscorpio a écrit:

            « Bien sur, le type de donnée que la fonction retroune (renvoie, kif kif bourricot tam tam) peut être n'importe quel type existant en C (ou encore, tout type de donnée défini dans ton programme) »

            Sauf un tableau.:p

            -
            Edité par fscorpio il y a 2 minutes


            Cela m'était tellement évidemment que j'ai oublié de le mentionner !  :honte:
            • 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

              22 septembre 2017 à 18:19:09

              Merci pour vos réponses !
              • Partager sur Facebook
              • Partager sur Twitter
              Un bon programmeur est un programmeur fainéant !

              Problème compréhension de return

              × 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