0
cstdio 헤더를 사용하여 두 번 사용할 C++ 코드입니다.cstdio를 사용하여 C++에서 double 변수를 사용할 수 없습니다.
#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 프로그램 실행 : .
screenshot 2 컴파일러 설정 : .
'printf ("% lf", f);'printf ("% f", f);' –
재생할 수 없음 : http://ideone.com/MsqXCs - 말씀해 주시겠습니까? 어떤 컴파일러를 사용하고 있고, 어떤 입력 데이터로 테스트합니까? – Christophe
ideone에서 작동하는 코드는 일반적인 경우에 아무것도 증명하지 않습니다. 'long double'과'double'은 특정 실행 환경에서 다른 표현을 가질 수도 그렇지 않을 수도 있습니다. –