2009-07-30 25 views
9

Tôi tò mò:Độ chính xác mặc định của c printf% f là gì?

Nếu bạn thực hiện printf("%f", number); độ chính xác của câu lệnh là gì? I E. Có bao nhiêu vị trí thập phân sẽ hiển thị? Trình biên dịch này có phụ thuộc không?

+1

Đây là thực sự được xác định theo tiêu chuẩn C. Tôi đã thêm một thẻ. –

Trả lời

18
chuẩn

Các ANSI C, trong phần 7.19.6.1, nói điều này về sự xác định định dạng f:

Nếu chính xác là mất tích, 6 chữ số được cho

5

Độ chính xác mặc định cho %f có 6 chữ số (xem ISO C99, 7.19.6.1/7).

5

Sách, C: A Reference Manual nói rằng nếu không có độ chính xác được chỉ định thì độ chính xác mặc định là 6 (nghĩa là 6 chữ số sau dấu thập phân).

Một caveat là nếu số là inf (tức là 1.0/0.0) hoặc NaN sau đó C99 xác định rằng sản lượng nên được inf, -INF, vô cùng, vô cực, hoặc nan vv ....

Các vấn đề liên quan