C - Problème basique avec les double

sim -  
 sim -
Bonjour,

J'ai un problème avec des variables double.
Voici un code d'expemple de mon problème :

double conversion(double euros)
{
double francs;
francs = 6.55957 * euros;
return francs;
}

int main(int argc, char *argv[])
{
double euros;
printf("Entrez le nombre en Euros à convertir en Francs. >");
scanf("%If", &euros);
printf("%If E = %If F\n", euros, conversion(euros));
return 0;
}

Quand je l'exécute et que je rentre un chiffre au hasard, disons 4.3, il me renvoie : 0.0000 E = 0.0000 F
J'ai essayé de remplacer tous les doubles par des floats, et miracle, le programme convertit gentiement les euros en francs.
Quelqu' un pourrait-il m'expliquer mon erreur avec les doubles?
Merci de votre aide.
A voir également:

4 réponses

mype Messages postés 2449 Statut Membre 437
 
avec les double c'est %lf et pas %If
0
sim
 
pardon?
0
mype Messages postés 2449 Statut Membre 437
 
scanf("%If", &euros); 
printf("%If E = %If F\n", euros, conversion(euros));

la tu remplace les %If par %lf
0
sim
 
Merci beaucoup, j' ai compris, bien que je trouve cette nuance plûtot vicieuse ;)
A+
0