C : scanf et float, valeur retournée = 0 ?

Résolu
bionicleman Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,

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
2