Невозможно использовать двойную переменную в C++, используя cstdio

C++ код для двойного использования cstdio заголовка.

#include <cstdio>
    using namespace std;

    int main() {

            double f;
            scanf("%lf",&f);
            printf("%lf",f);

            return 0;
    }

Этот код всегда выводит 0.000000. Зачем? Но подобный код хорошо работает в C

#include<stdio.h>

    int main() {
            double f;
            scanf("%lf",&f);
            printf("%lf",f);
            return 0;
    }

Этот код работает отлично.

Скриншот 1 выполнения программы: Действительный XHTML,

скриншот 2 настройки компилятора: Действительный XHTML,

1 ответ

Прочитайте документацию fscanf а также fprintf (особенно спецификаторы преобразования, они отличаются) и удалите using namespace std,

Другие вопросы по тегам