for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 22:28:45

for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?
for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;
变量x的值为什么是可以远大于60?

for(float x=0,s=0;x!=60;x=x+0.3) s=s+x;变量x的值为什么是可以远大于60?
实数判断时候有精度问题,比如你认为 x == 60 的时候,其实可以是 x == 60.00000000000000001 .
所以浮点数判断相等的时候要允许有误差,可以取一个较小的浮动值,比如
fabs(x - 60) < 1e-10