如果for循环&#34;迭代&#34;例如,即使在写<=
时,循环也会从i=39
结束,从而在#include <iostream>
using namespace std;
int main() {
for (double i = 0.00; i <= 0.40; i += 0.01) {
cout << i << " ";
}
return 0;
}
时终止。当使用整数执行基本相同的操作时,程序会正常运行。
1 2 3
这会返回37 38 39
... i <= 0.41
。
您可以在此处测试:https://ideone.com/bP3ilk
是什么导致了这种行为,并且有一种理想的方法可以解决这个问题,因为仅仅编写{{1}}似乎是一个hacky解决方案。更重要的是,如果0.40是用户输入的值,添加少量肯定被视为不良做法。
很抱歉,如果标题和问题的短语很差,我不确定如何说出来。