#include
#include
#include
//静态数组在栈中开辟内存 有局限性
void Func(int n) //利用动态内存求素数
{
int *p=(int *)malloc(n*sizeof(int)); //强转 固定搭配
assert(p!=NULL); //1.堆内空间不够 2.堆内空间够但连续空间不足够
for (int i=0;i
p[i]=1; //一个标志:1是素数,0不是素数
}
p[0]=p[1]=0;
for(int i=2;i
for(int j=i+1;j
if(p[j]!=0 && j%i==0)
{
p[j]=0;
}
}
}
for(int i=0;i
if(p[i]==1)
{
printf("%d ",i);
}
}
printf("n");
}
int main()
{
Func(10);
return 0;
int main()
{
Func(40);
return 0;
}



