Cos'è la precisione predefinita di c printf% f?
Domanda
Sono curioso:
Se si esegue un printf ("% f " ;, numero);
qual è la precisione dell'istruzione? Cioè Quanti decimali verranno visualizzati? Questo compilatore dipende?
Soluzione
Lo standard ANSI C, nella sezione 7.19.6.1, dice questo sull'identificatore del formato f:
Se manca la precisione, vengono fornite 6 cifre
Altri suggerimenti
La precisione predefinita per % f
è di 6 cifre (vedere la specifica ISO C99, 7.19.6.1/7).
Il libro C: Un manuale di riferimento afferma che se nessuna precisione è specificato quindi la precisione predefinita è 6 (ovvero 6 cifre dopo il punto decimale).
Un avvertimento è se il numero è inf (ovvero 1,0 / 0,0) o NaN, quindi C99 specifica che l'output deve essere inf, -inf, infinity, -infinity o nan ecc ....