我的 C++ 代码中的错误在哪里?

Where is the Error in my C++ code?

错误截图如下:http://prntscr.com/9n6ybt

代码如下:

#include <iostream>

using namespace std;

int main()
{
    int a, b;
    cin>>a>>b;
    for(int i=a;i<=b;i++)
    {
        if (b%i==0)
        {
            cout << i << " ";
        }
    }   

    return 0;
}
for(int i=a;i<=b;i++)
{
    if (b%i==0)
    {
        cout << i << " ";
    }
}

如果 i == 0.

除以零

您必须检查输入或 i 的值,例如:

for(int i=a; i<=b; i++)
{
    if (i > 0 && b%i==0)
    {
        cout << i << " ";
    }
} 

如果i == 0b%i==0将不会被评估。

您没有处理 i 可能为 0(除以 0)的情况,因此 b % i 不确定。你可以这样解决:

if (i==0) continue;

您应该按 "zero" 处理大小写划分。当 i = 0 的值时,代码将失败并产生异常。 你应该这样做:

#include <iostream>
using namespace std;
int main()
{   int a, b;
    cin>>a>>b;
    for(int i=a;i<=b;i++)
    {   if (i == 0)
             continue;
        else if (b%i == 0)
             cout << i << " ";

    }   
    return 0;
}