[c语言]printf("%f\n",1/3*3)与printf("%f\n",1/3*3)计算结果为什么不同?

日期:2021-07-25 08:21:22 人气:1

[c语言]printf("%f\n",1/3*3)与printf("%f\n",1/3*3)计算结果为什么不同?

从你后续的说法上看,应该是1/3*3和1.0/3*3
区别就在于类型
1/3,两个都是整数,结果也是整数,也就是int型
于是结果取整,1/3值为0,再乘3,结果依然为0
而1.0是double类型,除以3结果还是double类型,值是0.333333,再乘以3,就又恢复回1了
    A+
热门评论