int i;
float f;
f = 123.59;
i = 30;
printf("%f",f-i);
打印出来的结果是93.589996啊,怎么不是93.59
VS2013 c语言基础问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答
bullzerone 2015-04-08 13:36关注因为浮点型的数据在计算机中的存储,不是很精确,只能保证一定的精度,当一个数学运算式中包含有不同精度的数时,类型会自动转换,你的程序中
有浮点型和整型数,整型会自动转换为浮点型,所以结果也是浮点 型的,你没有显示的指定要几位精度,所以结果只是个大概准确的数值本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报