程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-為什麼C++中不能用浮點數控制for循環?

c++-為什麼C++中不能用浮點數控制for循環?

編輯:編程解疑
為什麼C++中不能用浮點數控制for循環?

為什麼C++中不能用浮點數控制for循環?
如:
for (double y = 0.1; y != 1.0; y +=0.1)
cout << y << endl;
這段代碼有什麼問題嗎?為什麼循環會停不下來?
本人大一學生,各位大神,求解?

最佳回答:


首先,你的代碼是符合C++語法的,並沒有規定不可以用浮點數控制for循環。
之所以一般代碼不用浮點數,我能想到的,有兩個原因:
1.沒必要,性能還低,一般for循環直接控制循環次數,整數作循環計數速度比浮點數要快
2.麻煩。循環判斷條件裡面,一般不直接用相等或者不等邏輯運算符判斷兩個浮點數是否相等,因為浮點數存在誤差,
一般使用if(x > 9.9999 && x < 10.00001)這種方式來替代if(x == 10.0)這種方式

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved