作者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
推 kvykn:因為這樣加y很難等於1.0 04/10 21:39
推 springman:y!=1.0 改成 y <= 1.0 比較不會有這種問題 04/10 21:39
→ springman:程式設計的書上大多會解釋這種情形 04/10 21:40
→ kvykn:!=要嘛就用整數,非得用浮點數的話就用不等式<=,>=,<,> 04/10 21:41
→ billbing:謝謝一二樓的答覆,小弟了解了。 04/10 21:45
推 Yshuan:浮點數切莫拿來做精準的比較... 04/10 22:27