Что такое точность по умолчанию c printf %f?

Мне интересно:

Если вы printf("%f", number); какова точность показаний? Т. е. Сколько десятичных знаков появится? Зависит ли этот компилятор?

3 ответов


стандарт ANSI C, в разделе 7.19.6.1, говорит Это О спецификаторе формата f:

Если точность отсутствует, 6 цифр приводятся


точность по умолчанию для %f 6 цифр (см. спецификацию ISO C99, 7.19.6.1 / 7).


книги C: Справочное Руководство указывает, что если точность не указана, то точность по умолчанию равна 6 (т. е. 6 цифр после десятичной точки).

одно предостережение-если число inf (т. е. 1.0/0.0) или NaN, то C99 указывает, что выход должен быть inf,- inf, infinity,- infinity или nan и т. д....