for语句中的多个条件

E.O*_*.O. 0 c++ for-loop

我在一个函数中有这个代码,但是当它运行时它会暂停一段时间,然后它说:

$floating point exception
Run Code Online (Sandbox Code Playgroud)

我假设这是由于for循环中的多个条件,但我不知道为什么它是错误的.有任何想法吗?

int i,j,number=5;
for (i = 2; (i < number || j==1); i++)
{
    if (number%i==0)
    {
        j = 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

Yoc*_*mer 7

浮点异常 - 这意味着存在算术错误.

它看起来像你想停止与j中的循环,但你实际上做的是永远不断循环(因为一旦你Ĵ== 1or条件总是如此).
那么,什么情况是你循环通过所有的整数值返回到0,并获得例外.

我认为你想做的是:

for (i = 2; (i < number); i++)
{
    if (number%i==0)
    {
        j = 1;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)