在第一次循环的时候j值为0,而除数不能为0!所以才有错误
如果你改成i、j全部赋值为2来重新编译,那么又因为你把i、j放在外面赋值,会致使再for循环结束后,第二个循环的时候,它的i、j值是从前一次开始进行循环!
参考代码:
#include <iostream>
using namespace std;
int main()
{
int i;
int j;
for(i=2;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(j==i)
cout<<i<<endl;
}
//system("pause");
return 0;
}
结果: