[return] petit soucis
Fermé
Utilisateur anonyme
-
7 nov. 2007 à 18:21
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 27 nov. 2007 à 13:23
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 - 27 nov. 2007 à 13:23
A voir également:
- [return] petit soucis
- Petit colis distribution - Forum Internet / Réseaux sociaux
- Petit 1 comme ² ✓ - Forum Windows
- Petit l ✓ - Forum Loisirs / Divertissements
- Return c ✓ - Forum C
- Petit coeur blanc ✓ - Forum Internet / Réseaux sociaux
6 réponses
SmallFitz
Messages postés
351
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
21 juin 2013
185
7 nov. 2007 à 18:55
7 nov. 2007 à 18:55
Salut !
Quand ton programme ne fonctionne pas il faut toujours regarder les erreurs de ton compilo !
Voilà ce qu'elles affichent :
Ensuite tu regardes chacun des rapports d'erreur.
Il faut que tu mettes void entre parenthèses, car ta fonction main n'a aucun paramètre.
Là tu utilises une mauvaise directive de préprocesseur. Il faut mettre #include <stdlib.h> pour pouvoir utiliser la fonction system.
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 !
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
Peux-tu me renseigner s'il te plaît ?
Merci d'avance.
Bonne journée
SmallFitz
Messages postés
351
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
21 juin 2013
185
24 nov. 2007 à 11:03
24 nov. 2007 à 11:03
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");
}
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");
}
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
120
24 nov. 2007 à 14:29
24 nov. 2007 à 14:29
Slt,
Vous avez oublié un petit truc:
pour la fonction printf:
printf("bla bla: %d",a);
telque "a" est un entier.
Vous avez oublié un petit truc:
pour la fonction printf:
printf("bla bla: %d",a);
telque "a" est un entier.
ekra
Messages postés
1867
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
342
24 nov. 2007 à 13:57
24 nov. 2007 à 13:57
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 :)
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
SmallFitz
Messages postés
351
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
21 juin 2013
185
26 nov. 2007 à 18:47
26 nov. 2007 à 18:47
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 ;-)
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 ;-)
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
120
27 nov. 2007 à 13:23
27 nov. 2007 à 13:23
Salut,
juste un petit point: pour pouvoir utiliser getch() vous devez mettre:
#include <conio.h>
juste un petit point: pour pouvoir utiliser getch() vous devez mettre:
#include <conio.h>