作者billbing (No.One)
看板C_and_CPP
标题[问题]一题C++的问题
时间Fri Apr 10 21:35:43 2009
小弟在做 C++ How to program 习题时,
看到一题找错的题目如下:
for(y=0.1; y!=1.0; y+=0.1){
cout<<y<<endl;
}
表面看起来好像没错,所以就用Dev C++跑程式
发现此for回圈,会跳入无穷回圈,
试了好久,还是没办法理解,於是请教版上的高手,
能帮我解答这个基本的问题,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.165.100.19
1F:推 kvykn:因为这样加y很难等於1.0 04/10 21:39
2F:推 springman:y!=1.0 改成 y <= 1.0 比较不会有这种问题 04/10 21:39
3F:→ springman:程式设计的书上大多会解释这种情形 04/10 21:40
4F:→ kvykn:!=要嘛就用整数,非得用浮点数的话就用不等式<=,>=,<,> 04/10 21:41
5F:→ billbing:谢谢一二楼的答覆,小弟了解了。 04/10 21:45
6F:推 Yshuan:浮点数切莫拿来做精准的比较... 04/10 22:27