指针\分配动态空间-筛选法求质数

 动态空间申请了以后一定一定要注意释放,否则会一直占用空间

关闭程序之后占用空间会自己释放,但如果是长期运行的大项目,会造成严重后果

#include
#include
int main()
{
	//初始化
	int i,j,n;
	int *s;		//用于申请动态数组空间
	int count=0;	//用于控制最终的输出个数
	//读入数组长度
	do
	{
		printf("请输入数组长度(正整数):");
		scanf("%d",&n);
	}while(n<=0);
	//数组长度——下标从0开始,故申请n+1个
	s=(int*)calloc(n+1,sizeof(int));		//calloc会自动初始化为0
	//申请失败则终止程序
	if(s==NULL)		//调用失败则返回值为NULL
	{
		printf("申请动态空间失败");
		exit(1);
	}
	//筛选法
	s[0]=s[1]=1;	//初始化都为0,就令非质数为1
	for(i=2;i<=n;i++)
		if(s[i]==0)
			for(j=2*i;j

你可能感兴趣的:(C语言入门,c语言)