为什么这个for循环终止不了

sinat_36565459 2017-02-26 10:01:00
#include<iostream>
using namespace std;
int main()
{
double i;
for (i = 0; i != 10; i += 0.1)
cout << i<<endl;
return 0;

}
这个循环为什么终止不了,小白求解答,我以为是精度的问题,但实验了之后发现没解决问题,还是方法不对?求解答[捂脸]
...全文
268 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2017-02-26
  • 打赏
  • 举报
回复
浮点数比较不能直接用等于、不等于,因为有精度问题。
flying_music 2017-02-26
  • 打赏
  • 举报
回复
运行一下下面这个程序,应该就能明白了

#include<iostream>
#include<iomanip.h>
using namespace std;
int main()
{
for(double i=0.0; fabs(i-10.0)>0.00001; i+=0.1)
    cout<<fixed<<setprecision(20)<<i<<endl;
return 0;

}
如有问题欢迎继续追问,没问题请及时节贴,谢谢

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧