为何少了一个1

来源:百度知道 编辑:UC知道 时间:2024/05/11 15:26:16
程序如下

main()
{
float j;

scanf("%f",&j);
printf("%d",(int)(j*10));

}
为何输入如 55.6

输出却是555
为何少了一个1?

main()
{
float j;

scanf("%f",&j);
printf("%f",j*10));

}
scanf 55.6
这样是 555.999985

float 有一定精度

强制转换后去掉小数

本来就是这个答案,你printf("%f",j*10)); J输出的结果在乘10 那不是555了吗?

恩..一楼回答的好