我的代碼在這裏拋出一個浮點異常,但我找不出原因。看起來沒有理由的浮點異常
int i = this -> numerator;
while(i > 1){
if ((this -> numerator % i == 0) && (this -> denominator % i == 0)) {
this -> numerator = this -> numerator/i;
this -> denominator = this -> denominator/i;
}
i = i - 1;
}
目標是簡化一小部分。正如你所看到的,事物只能通過我和我> 1進行修改。同樣適用於劃分。奇怪的是,即使我在while循環中註釋掉代碼,它仍然會拋出錯誤,但是如果我完全擺脫了while循環,代碼就可以正常工作。當我嘗試使用for循環時,發生了同樣的事情。我錯過了什麼?
請刪除所有'this - >'s。他們毫無意義和分心。 –
循環入口有多大'i',以及'* this'的值是多少?那麼,「分子」和「分母」的類型是什麼? – davidbak
顯示不起作用的完整代碼示例。 –