我的代码在这里抛出一个浮点异常,但我找不出原因。看起来没有理由的浮点异常
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
显示不起作用的完整代码示例。 –