I wrote the following code and I'm getting a run time error. My code was running fine on my system. How do I correct this?
#include <stdio.h>
void Sieve(int m,int n)
{
int i,j;
int a[n+1];
for(i=2;i<=n;i++)
{
a[i]=1;//assuming all value to be prime
}
for(i=2;(i*i)<=n;i++)
{
if(a[i]==1)
{
for(j=i*2;j<=n;j=j+i)
a[j]=0;
}
}
//printf("Prime numbers from 0 to %d\n",n);
for(i=m;i<=n;i++)
{
if(a[i]==1)
printf("%d\t",i);
}
printf("\n");
}
void main()
{
int i,num,m,n;
scanf("%d",&num);
for(i=1;i<=num;i++)
{
scanf("%d",&m);
scanf("%d",&n);
Sieve(m,n);
}
}