C语言的新手问题warning C4244,帮忙下呀~~

计算工人的一周工资,
源程序是
# include<stdio.h>
main()
{
float x,y,z;
printf("Please input employee's work time and wage_per_hour:");
scanf("%f%f",&x,&y);
if(x<0||x>168)
printf("输入出错!\n");
else
{
if(x<40) z=x*y;
else if(x>=40&&x<60) z=(40*y)+(x-40)*(1.5*y);/*出错了*/
else z=(40*y)+20*(1.5*y)+(x-60)*(3*y);/*出错了*/
printf("The employee's wage:%.2f",z);
}
}
错误提示:
warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
请懂的帮忙解答下,小弟初学的,可能问题很傻~~~
意思好像是说我把double变量强行赋值给float 数据会丢失吧~~

这个问题不用管它。用来计算工资float型精确度足够了。类似的问题还有unsigned int与int型的等等,只要是你有意的,完全没必要理会
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-16
类型错误,把程序中用float 换成 double。
因为在计算的时候把 double 存放到了 float中,放不下。
相似回答