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

Мне любопытно:

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


person spbots    schedule 30.07.2009    source источник
comment
Это фактически определено стандартом C. Я добавил тег.   -  person    schedule 30.07.2009


Ответы (3)


Стандарт ANSI C в разделе 7.19.6.1 говорит о спецификаторе формата f следующее:

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

person Laurence Gonsalves    schedule 30.07.2009

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

person Pavel Minaev    schedule 30.07.2009

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

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

person Karl Voigtland    schedule 30.07.2009