Je vous remercie, Emmanuel & Thierry, pour la précédente réponse.
Je fais face en ce moment à un autre problème, un problème de nombre à virgule. Tout d'abord, voici ce code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#include <stdio.h>
int funcn(float chiffre);
int main(void) {
float vara, varb;
vara = 1.456;
varb = 2.9;
while (funcn(vara) == 1 || funcn(varb) == 1) {
vara *= 10.0;
varb *= 10.0;
}
return 0;
}
int funcn(float chiffre) {
printf("%f\n", chiffre);
while (chiffre > 1)
--chiffre;
if (chiffre > 0 && chiffre < 1)
return 1;
else
return 0;
} |
Voici ce que ce programme écrit :
Ce que je voudrais élucider, c'est pourquoi le programme fait une soustraction dans le développement décimal de vara?
En théorie, le programme devrait s'arrêter à 1456 pour vara et 2900 pour varb!!!
Ça fausse tout!
Comment me débarasser de ce comportement indésirable, pour ne pas dire ch***t!?
Merci,
Array
Partager