http://www.spoj.com/problems/PRIME1/ 当我在SPOJ上运行它时,该程序显示SEGMENTATION错误,但它在我的PC上运行正常(即代码块),那里有缺陷?
#include<stdio.h>
int main()
{
int t,m,n,fl=0;
int i,j,q,w;
scanf("%d",&t);
int arr[t];
for(i=0;i<2*t;++i)
{
scanf("%d",&arr[i]);
}
for(i=0;i<t*2;i+=2)
{
n=arr[i];m=arr[i+1];
if(n==1)++n;
for(j=n;j<=m;++j)
{
q=j;
for(w=2;w<q;++w)
{
if(q%w==0){fl=1;break;}
}
if(fl==0){printf("%d",q);printf("\n");}
fl=0;
}
printf("\n");
}
return 0;
}
答案 0 :(得分:0)
答案 1 :(得分:0)
此代码错误:
int arr[t];
for(i=0;i<2*t;++i)
{
scanf("%d",&arr[i]);
}
您创建一个大小为t
的数组,然后将2*t
个元素放入其中。 KABOOM。你的代码也可能有其他错误 - 那只是跳出来的。