碰到一个关于数据类型的困惑,求助
我刚学习C语言,最近在练习的时候碰到一个困惑。我把问题简写在下面: #include<stdio.h>
main()
{
int s;
double p,w,f;
float d; /*如果这边用float的话就得不到想要的结果,而把这个换成double的话就可以了。这是为什么?*/
p=230,w=500,s=4000;
d=0.1;
printf("p=%lf,w=%lf,s=%d,d=%f\n",p,w,s,d);
f=w*s*(1-d)*p;
printf("%lf\n",f);
}
如果有人知道的话希望能教我一下,谢谢。