C : scanf et float, valeur retournée = 0 ?
Résolu
Bonsoir,
j'ai un soucis avec la fonction "scanf" et les variables de type "float".
lors de mon scanf (qui doit récupérer un float) j'entre par exemple "36." et la valeur récupérée est 0.
j'ai testé plusieurs façon d'écrire mon programme, différentes valeurs... mais rien n'y fait.
Voilà mon code ;-)
//déclaration des variables
float r;
//initialisation des variables
scanf("%lf",&r); //testé avec des entiers, flottants
printf("%f\n",r); //le printf me renvoie soit 0.000.. soit -0.000... soit... plusieurs miliards =X
En espérant avoir fait une erreur basique =D
Merci d'avance ;-)
[Edit]
scanf("%lf",&r); //à supprimer.. merci encore ;-P
/Edit
j'ai un soucis avec la fonction "scanf" et les variables de type "float".
lors de mon scanf (qui doit récupérer un float) j'entre par exemple "36." et la valeur récupérée est 0.
j'ai testé plusieurs façon d'écrire mon programme, différentes valeurs... mais rien n'y fait.
Voilà mon code ;-)
//déclaration des variables
float r;
//initialisation des variables
scanf("%lf",&r); //testé avec des entiers, flottants
printf("%f\n",r); //le printf me renvoie soit 0.000.. soit -0.000... soit... plusieurs miliards =X
En espérant avoir fait une erreur basique =D
Merci d'avance ;-)
Configuration: Windows XP Firefox 3.0.8
[Edit]
scanf("%lf",&r); //à supprimer.. merci encore ;-P
/Edit
1 réponse
-
ContributeurSalut,
Effectivement, t'as fait une erreur basique ;-)))
scanf("%lf",&r); //testé avec des entiers, flottants
Tu mets lf alors que ta variable est un float.
Deux solutions :
En double ://déclaration des variables double r; //initialisation des variables scanf("%lf",&r); //testé avec des entiers, flottants printf("%f\n",r); //le printf me renvoie soit 0.000.. soit -0.000... soit... plusieurs miliards =X
Ou alors en float ://déclaration des variables float r; //initialisation des variables scanf("%f",&r); //testé avec des entiers, flottants printf("%f\n",r); //le printf me renvoie soit 0.000.. soit -0.000... soit... plusieurs miliards =X
Cdlt