2009-07-30 12 views
9

Sono curioso:Qual è la precisione predefinita di c printf% f?

Se si fa un printf("%f", number); qual è la precisione della dichiarazione? Cioè Quante cifre decimali appariranno? Questo compilatore è dipendente?

+1

Questo effettivamente definito dallo standard C. Ho aggiunto un tag. –

risposta

18

L'ANSI C di serie, nella sezione 7.19.6.1, dice questo sul formato f specificatore:

Se la precisione non è presente, 6 cifre sono date

5

La precisione di default per %f è di 6 cifre (vedere la specifica ISO C99, 7.19.6.1/7).

5

Il libro, C: A Reference Manual indica che se non viene specificata alcuna precisione, la precisione predefinita è 6 (cioè 6 cifre dopo il punto decimale).

Un avvertimento è se il numero è inf (cioè 1.0/0.0) o NaN allora C99 specifica che l'uscita dovrebbe essere inf, -inf, infinità, -infinito o nan ecc ....

Problemi correlati