NCHU逸尘 2015-04-08 13:22 采纳率: 33.3%
浏览 1532
已采纳

VS2013 c语言基础问题

int i;
float f;
f = 123.59;
i = 30;
printf("%f",f-i);
打印出来的结果是93.589996啊,怎么不是93.59

  • 写回答

6条回答

  • bullzerone 2015-04-08 13:36
    关注

    因为浮点型的数据在计算机中的存储,不是很精确,只能保证一定的精度,当一个数学运算式中包含有不同精度的数时,类型会自动转换,你的程序中
    有浮点型和整型数,整型会自动转换为浮点型,所以结果也是浮点 型的,你没有显示的指定要几位精度,所以结果只是个大概准确的数值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?