[débutant]langage c

Résolu
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
Configuration: Windows XP
Safari 525.19

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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
    1. bonjour,
      au lieu de faire %f essaie de faire %.2f ça va t'afficher deux chiifres après la virgule.
      cordialement.
      1. Contributeur
        Oui, ça affichera 0.00 au lieu de 0. Mais ça règle pas le problème ;).