Appel de fonction à l'interieur d'une autre

Résolu/Fermé
Pacifista Messages postés 96 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 18 octobre 2013 - 24 oct. 2012 à 21:43
Pacifista Messages postés 96 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 18 octobre 2013 - 24 oct. 2012 à 23:29
Bonsoir,
j'essaie de faire fonctionner cette fonction
void afficheresultatessai (int sol[],int essai[])
{

printf("%d %d ", nbtaureau(*sol,*essai), nbvache(*sol,*essai));
}

où nbtaureau et nbvache sont deux fonctions que j'ai défini avant cette fonction.
la fonction afficheresultatessai sera exécutée à l'interieur d'une boucle while. mais quand je fais run, le prog se bloque là où il doit executée cette fonction
que faire à votre avis?
Merci d'avance.




A voir également:

4 réponses

roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
24 oct. 2012 à 21:53
Ça me parait bizarre de déréférencer un tableau... Envoie essai[0] plutôt que *essai et test[0] plutôt que *test, pour voir.
Les fonctions sont bien définies par int nbtaureau(int sol,int essai); et int nbvache(int sol,int essai); ?
0
Pacifista Messages postés 96 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 18 octobre 2013 3
Modifié par Pacifista le 24/10/2012 à 21:57
merci pour la reponse.
pour le "*" j'ai reglé.
et pour la fonctions , ce sont bel et bien leurs headers. mais avec []
à noter que j'ai defini toutes les fonctions avant le main().


"C'est parce que la vitesse de la lumière est supérieur a celle du
son que certains ont l'air de briller avant d'avoir l'air con".
0
roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
24 oct. 2012 à 22:17
Fait voir l'en-tête des fonctions, je ne comprends pas où se trouvent les crochets...
0
Pacifista Messages postés 96 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 18 octobre 2013 3
24 oct. 2012 à 22:26
int nbtaureau(int sol[],int essai[])
int nbvache (int sol[],int essai[])
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
24 oct. 2012 à 22:51
Pour info, *essai ou essai[0], c'est la même chose. Si l'un ne marche pas, l'autre ne fonctionnera pas mieux.

Au vu des prototypes, il faut mettre : printf("%d %d ", nbtaureau(sol,essai), nbvache(sol,essai));
0
Pacifista Messages postés 96 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 18 octobre 2013 3
24 oct. 2012 à 23:29
Ok merci j'ai trouvé la solution . j'ai fait beaucoup de gaffes dans la fonction. j'aurai dû faire plus d'attention.
0