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
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;
}
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
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
« 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) »
« 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.
- Edité par fscorpio il y a 2 minutes
Cela m'était tellement évidemment que j'ai oublié de le mentionner !
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
× 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.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent