Programmation C

rim elwsaef -  
Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

float variable;
int N=100;
int nza=145;

variable = N/nza;
printf("%f\n", variable);

Pourquoi il m'affiche 0 au lieu de 0.689 ?

Merci

2 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Par ce que N et nza sont des entiers.
    0
  2. Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   102
     
    Bonjour,

    En C, la division de 2 nombres entier est Euclidienne, on obtient donc un nombre entier.
    Pour obtenir une opération flottante, il faut forcer au moins un des 2 à être flottant.
    variable = (float)N / nza;
    Donne le résultat escompté.
    0