[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
Configuration: Windows XP
Safari 525.19

3 réponses

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