0
Код 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 настройка компилятора: .
'printf ("% lf ", f);' -> 'printf ("% f ", f);' –
Невозможно воспроизвести: http://ideone.com/MsqXCs - Не могли бы вы рассказать какой компилятор вы используете, и с какими входными данными вы тестируете? – Christophe
Код, работающий в ideone, ничего не доказывает в общем случае. 'long double' и' double' могут иметь или не иметь другого представления в конкретной среде исполнения. –