菜鸟请教:float型数输出的一个问题
大家好,我是C语言初学者,想请教一个问题:/*
在VC6.0下这样写运行结果是错误的,输出
12345678848.000000
12345678848.000000
为什么是这样的呢?
/*
void main()
{
float a,b;
a=123456.789E5f;
b=a+20;
printf("%f\n",a);
printf("%f\n",b);
}
/*但如果像下面这样写的话输出则是正确的
输出:
12345678848.000000
12345678868.000000
void main()
{
float a;
double b;
a=123456.789E5f;
b=a+20;
printf("%f\n",a);
printf("%f\n",b);
}
*/
是不是在VC下所有的常数都是double型的?谢谢大家先!