Невозможно использовать двойную переменную в 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 выполнения программы: ,
скриншот 2 настройки компилятора: ,
1 ответ
Прочитайте документацию fscanf
а также fprintf
(особенно спецификаторы преобразования, они отличаются) и удалите using namespace std
,