看板 C_and_CPP 關於我們 聯絡資訊
小弟在做 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