Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无论我输入什么,C double都保持0 #包括 int main() { 双a,b; scanf(“%lf%lf”、&a和&b); printf(“%lf%lf”,a,b); 返回0; }_C_Double - Fatal编程技术网

无论我输入什么,C double都保持0 #包括 int main() { 双a,b; scanf(“%lf%lf”、&a和&b); printf(“%lf%lf”,a,b); 返回0; }

无论我输入什么,C double都保持0 #包括 int main() { 双a,b; scanf(“%lf%lf”、&a和&b); printf(“%lf%lf”,a,b); 返回0; },c,double,C,Double,我从printf得到的结果是0.000000,不管输入是什么。我该怎么做才能补救呢?这似乎是一些编译器或系统相关的问题,但我不知道这可能是什么。。提前谢谢我想你要做的是输入一个带有小数点的数字(,) 大概是这样的: #include<stdio.h> int main() { double a,b; scanf("%lf%lf",&a,&b); printf("%lf %lf",a,b); return 0; } 但是您必须使用点()

我从printf得到的结果是0.000000,不管输入是什么。我该怎么做才能补救呢?这似乎是一些编译器或系统相关的问题,但我不知道这可能是什么。。提前谢谢

我想你要做的是输入一个带有
小数点的数字

大概是这样的:

#include<stdio.h>
int main()
{
    double a,b;
    scanf("%lf%lf",&a,&b);
    printf("%lf %lf",a,b);
    return 0;
}
但是您必须使用
)!像这样:

0,4565 0,345

那么它应该可以正常工作了!程序中没有错误/错误

%lf
不是有效的格式说明符。您应该使用
%f
作为
double
,或者
%Lf
作为
长double
(如果支持)。

您的代码可以在带有gcc4.8.2的64位Ubuntu上正常工作


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

对我来说很好!请看:您能显示您的输入吗?您的操作系统使用的是什么语言环境(语言)?1.1 2.2是我的输入,我正在波兰语Windows上编译。8如果不起作用,请在黑暗中尝试以下操作:一些较弱的编译器不能正确地合并FP数学,除非看到一些数学,并且输入/输出不能做到这一点。尝试添加
printf(“%lf%lf%lf\n”,a、b、a+b)
强制进行某些FP运算。
scanf()
的返回值是多少?如果不是2,代码甚至不应该尝试
printf(“%lf%lf”,a,b)。至少初始化
a,b
一些有趣的东西,比如5.6和7.8,看看
scanf()
是否正在发挥作用。不,在我的input@Marcin它必须工作得很好!你的意见是什么?你使用哪种编译器?我使用的是代码::blocks 13.12。输入只有1.1和2.2,没什么特别的。不管我输入什么,我总是得到零,真的。可能值得一提的是,我设置了以下标志:-std=c99,-static,-Wall,-lm,-c.Err我是说gcc编译器我正在使用带有波兰本地化的windows 8。值得一提的是,用float替换double和用f替换lf使其运行正常,这似乎是一个双重相关的问题。
%lf
仅在
printf
中无效,并且仅在C99之前无效。在C99和C11中,
%lf
%f
@Cubbi:好的,但为了最广泛的兼容性,%f值得一试,由于给出的信息中几乎没有其他解释。我怀疑你是正确的,正如OP所说的“Windows 8”(OP确实应该指定编译器,而不是操作系统),并且那里的某些编译器不符合C99。
0.4565 0.345