Help, DevC++ fonction retournant un float, résultat très étrange...
yom007
Messages postés2Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention23 juin 2005
-
21 juin 2005 à 16:36
yom007
Messages postés2Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention23 juin 2005
-
23 juin 2005 à 10:12
Bonjour,
je travaille sous devC++ et là c'est l'incompréhension, peut-etre qu'une ame charitable pourra venir à mon secours...
J'ai reussi à isoler mon probleme le voici:
J'ai 2 fichiers:
Main.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
float D;
D = Distance(0,0,0,10);
printf("Resultat apres que la fonction aie retournee la valeur: %f\n",D);
system("pause");
}
float Distance(int Xa, int Ya, int Xb, int Yb)
{
float resultat;
resultat = sqrt( (Xa-Xb)*(Xa-Xb) + (Ya-Yb)*(Ya-Yb));
printf("Resultat dans la fonction avant son retour: %f\n",resultat);
return resultat;
}
Voici le resultat:
Resultat dans la fonction avant son retour: 10.000000
Resultat apres que la fonction aie retournee la valeur: 1092616192.000000
Merci beaucoup pour votre aide.
NB: en déclarant Distance() dans Main.c le probleme disparait
en remplacant le type float par int pour Distance() le probleme disparait aussi
A voir également:
Help, DevC++ fonction retournant un float, résultat très étrange...
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 21 juin 2005 à 17:39
double Distance(int Xa, int Ya, int Xb, int Yb)
{
double resultat;
resultat = sqrt(float((Xa-Xb)*(Xa-Xb)+(Ya-Yb)*(Ya-Yb)));
printf("Resultat dans la fonction avant son retour: %f\n",resultat);
return resultat;
}