Retour de fonction en langage C.
Résolu/Fermé
bernard
-
6 févr. 2009 à 12:02
amateurb Messages postés 2 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 6 février 2009 - 6 févr. 2009 à 15:55
amateurb Messages postés 2 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 6 février 2009 - 6 févr. 2009 à 15:55
A voir également:
- Retour de fonction en langage C.
- Fonction si et - Guide
- Raccourci clavier retour en arrière - Guide
- Retour à la ligne excel - Guide
- Retour à la ligne google sheet ✓ - Forum Bureautique
- Echo retour à la ligne ✓ - Forum Shell
5 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
513
6 févr. 2009 à 12:11
6 févr. 2009 à 12:11
Je pense que c'est parce que tu ne récupères pas la valeur de sortie, il faut que tu mettes une variable devant à qui tu assignes la valeur retournée
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
6 févr. 2009 à 12:26
6 févr. 2009 à 12:26
Salut,
Je n'ai pas regardé en détail l'algorithme de la fonction, mais non il n'y a pas d'erreur de programmation a priori.
Tu récupères déjà la modification de la matrice en paramètre. Tu la récupères aussi en return. La valeur du return peut-être très pratique pour regarder si le retour vaut NULL ou pas.
Mais dans ton cas, il n'y a pas de souci, R_mR(P,n); modifiera ta matrice P.
Je n'ai pas regardé en détail l'algorithme de la fonction, mais non il n'y a pas d'erreur de programmation a priori.
Tu récupères déjà la modification de la matrice en paramètre. Tu la récupères aussi en return. La valeur du return peut-être très pratique pour regarder si le retour vaut NULL ou pas.
Mais dans ton cas, il n'y a pas de souci, R_mR(P,n); modifiera ta matrice P.
amateurb
Messages postés
2
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 février 2009
6 févr. 2009 à 12:57
6 févr. 2009 à 12:57
Bonjour,
Merci NookZ, fiddy.
Mon idée est de faire la même chose avec toutes mes fonctions.
add, mul, ...
Pour avoir la double possibilitée.
Cela pourait il être un problème ?
Merci
Merci NookZ, fiddy.
Mon idée est de faire la même chose avec toutes mes fonctions.
add, mul, ...
Pour avoir la double possibilitée.
Cela pourait il être un problème ?
Merci
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
6 févr. 2009 à 13:48
6 févr. 2009 à 13:48
Non, aucun souci, mais aucun intéret.
Si tu fait Q=R_mR(P,n), P sera initialis et Q aussi, mais se seront les même variable. ça reviens à faire:
R_mR(P,n);Q=P;
Si tu fait Q=R_mR(P,n), P sera initialis et Q aussi, mais se seront les même variable. ça reviens à faire:
R_mR(P,n);Q=P;
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
6 févr. 2009 à 13:53
6 févr. 2009 à 13:53
Salut,
Oui tu peux le faire sans souci. Mais l'intérêt de cette méthode n'est pas d'avoir la double possibilité mais de renvoyer un code d'erreur en cas de problèmes internes à la fonction. Donc cette méthode est bien approprié pour les pointeurs où le code erreur sera NULL, éventuellement en définissant errno. Mais pour les fonctions qui renvoie juste une valeur et non un pointeur, là l'intérêt est moindre. Si tu veux un code erreur, tu renvoies 1 par exemple et 0 en cas de succès.
Mais pour une fonction simple où il n'y a pas lieu d'y avoir d'erreurs, le plus commode est de renvoyer bêtement la valeur en return.
Cdlt
Oui tu peux le faire sans souci. Mais l'intérêt de cette méthode n'est pas d'avoir la double possibilité mais de renvoyer un code d'erreur en cas de problèmes internes à la fonction. Donc cette méthode est bien approprié pour les pointeurs où le code erreur sera NULL, éventuellement en définissant errno. Mais pour les fonctions qui renvoie juste une valeur et non un pointeur, là l'intérêt est moindre. Si tu veux un code erreur, tu renvoies 1 par exemple et 0 en cas de succès.
Mais pour une fonction simple où il n'y a pas lieu d'y avoir d'erreurs, le plus commode est de renvoyer bêtement la valeur en return.
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
amateurb
Messages postés
2
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 février 2009
6 févr. 2009 à 15:55
6 févr. 2009 à 15:55
Merci à tout le monde.
Je pense que mon problème est résolu
Merci
Je pense que mon problème est résolu
Merci