Résultat exécution bizarre C
Résolu
hdiama
Messages postés
190
Date d'inscription
Statut
Membre
Dernière intervention
-
Dragonmastertran Messages postés 189 Statut Membre -
Dragonmastertran Messages postés 189 Statut Membre -
Bonjour,
Voici le programme que j'ai écrit:
#include<stdio.h>
int main()
{
double a, b, s;
printf("A= ");
scanf("%f", &a);
printf("B= ");
scanf("%f", &b);
s=a+b;
printf("s=%f\n", s);
return 0;
}
A l'exécution: n'importe quelles valeurs affectées à a et b, j'ai s=0.0000000
je comprends rien, quelqu'un pour m'expliquer please?
Merci d'avance
Voici le programme que j'ai écrit:
#include<stdio.h>
int main()
{
double a, b, s;
printf("A= ");
scanf("%f", &a);
printf("B= ");
scanf("%f", &b);
s=a+b;
printf("s=%f\n", s);
return 0;
}
A l'exécution: n'importe quelles valeurs affectées à a et b, j'ai s=0.0000000
je comprends rien, quelqu'un pour m'expliquer please?
Merci d'avance
Configuration: Windows XP Firefox 3.5.3
10 réponses
-
bonjour, il faudrait que tes variales au début soit à 0.
genre :
long a = 0 , b = 0 , s = 0;
sinon, la valeur des variable serait mélangé
et puis, il te faut les bibliotheque de données.
#include <stdlib.h>
#include <math.h> -
Tu veux dire que je dois les initialiser à 0 au début? Si c'est ça, ça ne marche pas.
-
Je viens de 'essayer, ça marche... à moins qu'il y ait une autre erreur dans le tien que je n'ai pas encore vu...
-
Si ça marche chez toi, alors le problème n'est pas dans le programme, non?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ok, j'ai trouvé,
tu ne peux pas mettre
("%f", &b)
mais plutot
("%ld", &b)
car c'Est un nombre que tu veux -
ça marche pour les petits nombres, c'est déjà ça!
mais lorsque j'ai mis une grande valeur, le 0 a refait son show! -
une grande valeur? grande comment ? dans les millions ou plus?
-
oui, 25 milliards!!!! chui obligé c'est demandé dans l'exo!
-
A la place de ld, j'ai mis lf, et ça marche! Merci Dragonmastertran pour ton aide, j' y serai pas arrivé sans toi :)
-