Programmation C

rim elwsaef -  
Dalfab Messages postés 720 Statut Membre -
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

NHenry Messages postés 15479 Statut Modérateur 366
 
Par ce que N et nza sont des entiers.
0
Dalfab Messages postés 720 Statut Membre 101
 
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