[新手求助]此简易C++程序为什么会闪退?
刚开始学,懂得很少,希望各位大神赐教啊~
#include <iostream>
#include <iomanip>
using namespace std;
bool Prime(int);
int main()
{
int counter=0;
for(int i=1;i<=10000;i++)
{
if(Prime(i))
cout<<setw(5)<<i;
if(i%10==0)
cout<<endl;
counter=i;
}
cout<<endl<<counter;
system("pause");
return 0;
}
bool Prime(int num)
{
int n[100]={0};
for(int a=2;a<=100;a++)
{
if(num%a!=0)
{
if(a!=num)
n[a]=a;
}
}
int c=0;
for(int b=2;b<=100;b++)
c=c+n[b];
if(c==0)
return true;
else
return false;
}
[解决办法]
for(int a=2;a<=100;a++)
栈溢出了,改成
for(int a=2;a<100;a++)
[解决办法]
for(int a=2;a<=100;a++)
{
if(num%a!=0)
{
if(a!=num)
n[a]=a;
}
}
a等于100的时候
n[100]越界了