C语言long double的问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:17:27
#include<stdio.h>
int main()
{
long double w;
scanf("%lf",&w);
printf("%lf\n",w);
return 0;
}
输入 1
输出 1.000000
若把scanf("%lf",&w);改为w=1;
便会输出 0.000000
怎么回事?

我运行这代码并没有你所说的错误

我运行的结果是1.00000,
环境是VS 2005. 你的编译器是什么?

数据类型没有进行强制转换,还有你的return放在那儿,它不出0才怪。