标签: c scanf
#include<stdio.h> int main() { double a,b; scanf("%lf",&a); printf("%lf\n",a); return 0; }
我收到输出0.000000 - 为什么? - 但是相同的代码在C程序中获得输入和输出double。使用float类型,代码在C ++中工作。我使用过GNU gcc编译器。
0.000000
double
float
gcc
答案 0 :(得分:2)
printf %lf不存在。 在scanf它确实如此。 (见specifiers x length表)
%lf
specifiers x length
许多操作系统接受printf中的%lf是一致的,但Windows不是其中之一。
所以你必须扫描%lf,但是printf %f,它应该适用于所有地方。
%f