Печать в формате C (% Lf) имеет неправильный результат - PullRequest
0 голосов
/ 01 марта 2019

Я новичок в C. Когда я использую printf формат %Lf, я получил неправильный результат.Мой код как показано ниже.

long double dip = 5.32e-5;

printf("%Lf can be written %Le\n", dip, dip);

И я получил результат, как показано ниже:

0.000000 can be written 3.172882e-317

Я написал свой код в сравнении с кодом + MinGW.Есть ошибки в моем коде?

1 Ответ

0 голосов
/ 01 марта 2019

Кажется, MinGW не поддерживает формат %Lf по умолчанию.

Добавление опции компилятора -std=c99 может заставить его работать.

Этот код работал на моем MinGW gcc 4.8.1с опцией -std=c99 (я не использовал против кода):

#include <stdio.h>

int main(void) {
    long double dip = 5.32e-5;

    printf("%Lf can be written %Le\n", dip, dip);
}

вывод:

0.000053 can be written 5.320000e-005
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...