#include <stdio.h>
int main() {
float k;
scanf("%f", &k);
printf("%f", k);
}
Dans ce programme simple, lorsque j'entre un numéro contenant au maximum 8 chiffres, il s'affiche correctement. Mais si je dépasse 8 chiffres, c'est-à-dire pour l'entrée 123456789
, la sortie est 123456792
.Pourquoi scanf prend-il une mauvaise entrée pour les grands nombres flottants?
Pourquoi cela se produit-il? Eh bien, le fait amusant est que si j'entre un nombre entre 123456789
et 123456796
alors il montre toujours 123456792
.
S'agit-il d'un élément lié à la précision décimale des nombres flottants?
https://stackoverflow.com/questions/12560291/set-back-default-precision-c –
@HariomSingh Comment cette question liée est-elle liée? Ce n'est même pas dans la même langue. – Toby
@Toby question a été à l'origine balisé avec [tag: C++], supprimé car ni le code ni le texte ne fait référence à C++. –