2009-07-30 82 views
9

我很好奇:什麼是c printf%f默認精度?

如果你做一個printf("%f", number);聲明的精度是什麼?即將顯示多少個小數位?這個編譯器是否依賴?

+1

這是實際上由C標準定義。我已經添加了一個標籤。 – 2009-07-30 16:39:13

回答

18

ANSI C標準,第7.19.6.1說,這對F格式說明符:

如果缺少精度,6位給予

5

%f默認精度是6位數字(參見ISO C99規範,7.19.6.1/7)。

5

該書C: A Reference Manual指出,如果未指定精度,則默認精度爲6(即小數點後6位)。

一個警告是,如果數字是INF(即1.0/0.0)或NaN然後C99指定該輸出應當INF,-INF,無窮大,-infinity或NaN等....