[問題]一題C++的問題

看板C_and_CPP作者 (No.One)時間15年前 (2009/04/10 21:35), 編輯推噓3(303)
留言6則, 4人參與, 最新討論串1/2 (看更多)
小弟在做 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

04/10 21:39, , 1F
因為這樣加y很難等於1.0
04/10 21:39, 1F

04/10 21:39, , 2F
y!=1.0 改成 y <= 1.0 比較不會有這種問題
04/10 21:39, 2F

04/10 21:40, , 3F
程式設計的書上大多會解釋這種情形
04/10 21:40, 3F

04/10 21:41, , 4F
!=要嘛就用整數,非得用浮點數的話就用不等式<=,>=,<,>
04/10 21:41, 4F

04/10 21:45, , 5F
謝謝一二樓的答覆,小弟了解了。
04/10 21:45, 5F

04/10 22:27, , 6F
浮點數切莫拿來做精準的比較...
04/10 22:27, 6F
文章代碼(AID): #19tqimYA (C_and_CPP)
文章代碼(AID): #19tqimYA (C_and_CPP)