[return] petit soucis
Utilisateur anonyme
-
tarek_dotzero Messages postés 834 Statut Membre -
tarek_dotzero Messages postés 834 Statut Membre -
Bonjour,
Quelqu'un pourrait-il me corriger mon programme pour qu'il m'affiche le résultat de ma fonction:
#include <stdio.h>
double Essai(double a,double b,double c);
double Essai(double a,double b,double c)
{
return a+b+c;
}
int main()
{
Essai(3,5,4);
system("PAUSE");
}
Merci d'avance
Quelqu'un pourrait-il me corriger mon programme pour qu'il m'affiche le résultat de ma fonction:
#include <stdio.h>
double Essai(double a,double b,double c);
double Essai(double a,double b,double c)
{
return a+b+c;
}
int main()
{
Essai(3,5,4);
system("PAUSE");
}
Merci d'avance
6 réponses
-
Salut !
Quand ton programme ne fonctionne pas il faut toujours regarder les erreurs de ton compilo !
Voilà ce qu'elles affichent :C:main.c:15: warning: function declaration isn't a prototype C:main.c:: In function `main': C:main.c:18: warning: implicit declaration of function `system' C:main.c:19: warning: control reaches end of non-void function :: === Build finished: 0 errors, 3 warnings ===
Ensuite tu regardes chacun des rapports d'erreur.C:main.c:15: warning: function declaration isn't a prototype
Il faut que tu mettes void entre parenthèses, car ta fonction main n'a aucun paramètre.C:main.c:18: warning: implicit declaration of function `system'
Là tu utilises une mauvaise directive de préprocesseur. Il faut mettre #include <stdlib.h> pour pouvoir utiliser la fonction system.C:main.c:19: warning: control reaches end of non-void function
Ta fonction est de type int, donc il faut que tu lui retourne un int a la fin de ta fonction ! Comme ceci : return 0;
Voilà c'est rapide quand on suit le compilo ^^
Bon courage pour la suite ! -
Merci beaucoup de m'avoir répondu mais lorsque je lance le programme je n'ai rien en sortie alors que j'ai mis return (a+b+c);. Or rien ne s'affcihe comme résultat.
Peux-tu me renseigner s'il te plaît ?
Merci d'avance.
Bonne journée -
Salut !
Il ne suffit pas de donner une valeur à une fonction pour qu'elle s'affiche.
En effet il faudrait plutôt que tu stockes sa valeur dans une variable, puis que tu affiches cette variable !
Ce qui donnerait cela :
int main(void)
{
int a = 0;
a = Essai(3,5,4);
printf("La valeur que retourne Essai est : ", a);
system("PAUSE");
} -
Bonjour,
Tu peux utiliser puts bien plus simple pour un débutant.
D'ailleurs dans le printf précédent, il manque un %lf pour
printf("La valeur de retour est : %lf" , essaie(1,2,3));
Et nuance, un warning ne provoque pas d'erreur à la compilation même si bien souvent c'est une erreur humaine :)
#include <stdio.h> #include <stdlib.h> double essai(double a,double b,double c); double essai(double a,double b,double c) { return a+b+c; } int main() { puts(essai(3,5,4)); getc(); } -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut !
Il me semble que dans l'exemple que tu donnes il manque un "return 0;" dans la fonction main.
Et ce ne serait pas getch(); ou getchar(); au lieu de getc(); ?
Une erreur d'inattention sans doute.
Bonne continuation ;-) -
Salut,
juste un petit point: pour pouvoir utiliser getch() vous devez mettre:
#include <conio.h>