[débutant]langage c

Résolu
yassinee Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   -  
yassinee Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'aimerais faire une simple multiplication entre 2 variables donc:
float a=4, b=1/10, var;

var=a*b;

printf("%f",var);
NORMALEMENT le résulta est 4*1/10=0.4 PAR CONTRE le résultat est 0
merci de d'avance
A voir également:

3 réponses

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

Et non, en C, 1/10 = 0 car c'est une division d'entiers.
Donc le résultat est normal.
Au lieu de : float b=1/10; fais float b=1.0 / 10. Ainsi vaudra 0.1.
Et tout rentrera dans l'ordre ;)

Cdlt
3
freewoman
 
bonjour,
au lieu de faire %f essaie de faire %.2f ça va t'afficher deux chiifres après la virgule.
cordialement.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Oui, ça affichera 0.00 au lieu de 0. Mais ça règle pas le problème ;).
0
yassinee Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   27
 
Merci fiddy ça marche
0