无论我输入什么,C double都保持0

时间:2014-11-29 19:07:41

标签: c double

#include<stdio.h>
int main()
{
    double a,b;
    scanf("%lf%lf",&a,&b);
    printf("%lf %lf",a,b);
    return 0;
}

无论输入如何,我从printf得到的结果是0.000000。我应该怎么做才能解决这个问题?它似乎是一些编译器或系统相关的问题,但我不知道它是什么...提前感谢

3 个答案:

答案 0 :(得分:1)

%lf不是有效的格式说明符。您应该%f使用double%Lf使用long double(支持的地方)。

答案 1 :(得分:0)

你的代码在Ubuntu 64bit上使用gcc4.8.2

工作正常

请提供有关编译器/ arch / etc等的更多信息。

答案 2 :(得分:-1)

我认为您正在做的是输入一个decimal point,)的数字!

这样的事情:

0,4565 0,345

但你必须使用dot.)!像这样:

0.4565 0.345

然后它应该工作正常!程序中没有错误/错误