Quelle est la différence dans l'utilisation de %f, %e, %g, %E ou %G avec scanf?

En C, il n'existe aucune différence dans les spécificateurs de format %f, %e, %g, %E et %G lorsqu'il est utilisé pour lire dans une variable de type float avec scanf? Autrement dit, le comportement de l'extrait de code

float x;
scanf("%<one of f, e, g, E, G>", &x);

jamais dépendre du choix de l'entrepreneur?

J'ai d'abord supposé que %f serait seulement interpréter la notation décimale correctement, et %e serait seulement interpréter la notation scientifique correctement, mais sur mon système, chacun d'eux fonctionne bien dans les deux cas. Mais peut-être que mon système est libéral...

Je ne pouvais pas trouver tout précis à ce sujet dans mes livres ou sur le web...

Vous pouvez lire par exemple référence.
Merci - cette référence est sur le C++, c'est pourquoi je n'ai pas entièrement confiance en elle avant de... Édité ma question maintenant, l'ajout de "C"
POSIX page de fscanf() reflète le C standard et ajoute quelques (marquées) les extensions. Il est dit que la conversion des prescripteurs a, e, f, g, A, E, F, G toutes les manipuler des nombres à virgule flottante dans l'un des formats. Les exposants sont toujours acceptés (mais pas obligatoire). Les points décimaux sont acceptés, mais pas obligatoire.

OriginalL'auteur lee77 | 2013-11-10