我在一个函数中有这段代码,但是当它运行时它会暂停很长时间然后它说:
$floating point exception
我假设这是由于 for 循环中的多个条件造成的,但我不知道为什么它是错误的。有什么想法吗?
int i,j,number=5;
for (i = 2; (i < number || j==1); i++)
{
if (number%i==0)
{
j = 1;
}
}
最佳答案
浮点异常 - 这意味着存在算术错误。
看起来你试图用 j 停止循环,但实际上你正在做的是永远继续循环(因为一旦你得到 j==1 或
条件始终为 true)。
然后发生的事情是,您将 i 遍历所有 Integer 值返回到 0 并得到异常。
我想你想做的是:
for (i = 2; (i < number); i++)
{
if (number%i==0)
{
j = 1;
break;
}
}
关于c++ - for语句中的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6719238/