Bonjour,
Je commence le C et j'ai un problème sur un calcul basique de flottants. J'ai beau cherché je ne vois pas l'erreur.
Le but de mon programme est qu'un client envoie des chiffres à un serveur qui lui doit calculer le résultat de l'opération. Ca marche très bien avec des entiers mais quand je passe au flottant ca ne marche plus !
Voici un bout de mon code :
Et la fonction censé me faire le calcul :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 char operateur; int nbvalue; float numero1, numero2; nbvalue = sscanf(data, "%*s %c %f %f", &operateur, &numero1, &numero2); printf("%c %f %f \n",operateur, numero1, numero2); if (nbvalue != 3) { printf("erreur lecture \n");} switch (operateur) { case '+': { float som = somme(numero1,numero2); printf("%.2f",som); break; }
Lorsque j'affiche mes flottants avant le calcul j'ai bien deux nombres flottants par exemple 9.500000 1.000000 mais en résultat je trouve 675619456.00. Pourquoi il m'affiche ce résultat ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 float somme(num1, num2){ float addi = num1 + num2; return addi; }
Merci pour votre aide !
Partager