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

Résolu
bionicleman Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 441 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 ;-)
Configuration: Windows XP
Firefox 3.0.8


[Edit]
scanf("%lf",&r); //à supprimer.. merci encore ;-P
/Edit

1 réponse

  1. fiddy Messages postés 441 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