2009-07-30 21 views
9

Tengo curiosidad:¿Qué es c printf% f precisión predeterminada?

Si haces un printf("%f", number); ¿cuál es la precisión de la afirmación? Es decir. ¿Cuántas cifras decimales aparecerán? ¿Es este compilador dependiente?

+1

Esto es realmente definido por el estándar C He agregado una etiqueta. –

Respuesta

18

El estándar ANSI C, en la sección 7.19.6.1, dice lo siguiente acerca del formato especificador f:

Si la precisión no está presente, se dan 6 dígitos

5

La precisión predeterminada para %f tiene 6 dígitos (ver especificación ISO C99, 7.19.6.1/7).

5

El libro, C: A Reference Manual indica que si no se especifica precisión, entonces la precisión predeterminada es 6 (es decir, 6 dígitos después del punto decimal).

Una advertencia es si el número es inf (es decir, 1.0/0.0) o NaN entonces C99 especifica que la salida debe ser inf, -inf, infinito, -infinito, o nan etc ....

Cuestiones relacionadas