c++ - for语句中的多个条件

标签 c++ for-loop

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

$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/

相关文章:

c++ - 从构建库切换到 exe 或 dll 时出现 Unresolved external symbol 错误

c - For 循环迭代预期迭代次数的两倍

php - PDO INSERT 语句在计数器循环内不起作用

c++ - 如何在 C++ 中选择多维数组中的范围?

c++ - 显示是/否消息框,其中“否”呈灰色 win32api C++

c++ - 如何在 C++ 中执行 std::string indexof 返回匹配字符串的索引?

c++ - 从live555入手,集成LIBMAD解码器

c++ - 来自虚函数的 undefined reference

java - 获取第一个除数超过 400 的三角形数

python - 数字 1 - 1000 的素数测试