J'écris un programme en C qui est censé renvoyer la valeur flottante 3.2058 après l'appel de la fonction averagerOfFiveFloats. Le problème est lorsque le code compile et l'EDI ouvre le fichier exécutable, la valeur renvoyée est 1067450368. Pourquoi cela se produit-il? J'ai vérifié que les types de variables étaient corrects et que les deux fonctions avaient un type de retour float.Le programme Nombre Averager renvoie une valeur flottante incorrecte
Le programme prend cinq valeurs flottantes dans la fonction principale, puis la fonction function averagerOfFiveFloats est appelée dans la fonction principale. La fonction averagerOfFiveFloats prend les cinq valeurs flottantes, les ajoute ensemble, divise le total par 5, puis renvoie la valeur. (J'utilise l'IDE Code :: Blocks).
Voici mon code:
#include <stdio.h>
float a, b, c, d, e;
float averagerOfFiveFloats(float num1, float num2, float num3, float num4,
float num5);
float main (void) {
a = 1.25;
b = 4.45;
c = 3.45;
d = 1.11;
e = 5.769;
return averagerOfFiveFloats(a, b, c, d, e);
}
float averagerOfFiveFloats(float num1, float num2, float num3, float num4,
float num5) {
float addition = 0;
addition = num1 + num2 + num3 + num4 + num5;
float divider = 0;
divider = addition/5;
return divider;
}
type de retour de '' main' est de int'. – BLUEPIXY