我想理解为什么这个for
不会将其执行停止为10.请参阅代码:
#include <stdio.h>
int main()
{
float i;
for (i = 0.0; i <= 10; i += 0.01)
printf("Iteration %g\n", i);
return 0;
}
最新的迭代是:
迭代9.96013
迭代9.97013
迭代9.98013
迭代9.99013
为什么会出现这种情况?
答案 0 :(得分:0)
在上一次迭代中,您会看到Iteration 9.99013
,因为如果循环再次迭代,i
将等于10.00013,即大于10,即循环条件。只要条件满足,for
循环才会继续。
正如@WeatherVane指出的那样,你应该看看this question,这解释了为什么你在i
变量的末尾看到了额外的0.00013。
答案 1 :(得分:0)
10.00013&lt; = 10条件为false因此控件退出for循环