c语言动态数组,用malloc扩大后怎么样不改变原来的值,
printf("请输入一个整数");xtsuku=(int*)malloc(4);scanf("%d",&xtnumber);xtsuku[0]=2;xtcount=1/...
printf("请输入一个整数");
xtsuku=(int*)malloc(4);
scanf("%d",&xtnumber);
xtsuku[0]=2;
xtcount=1//一个数组
for(i=3;i<=xtnumber;i++)
{
for (ii=0;ii<xtcount;i++)
{
if ((i mod xtsuku[ii])==0)
{
xtissu=0;
break;
}
else{
xtissu=1;
}
}
if(xtissu==1)
{
xtcount++;
xtsuku=(int*)malloc(4*(xtcount-1));
xtsuku[xtcount-1]=i;
}
}
/* for (i=0;i<xtcount;i++)
printf("%d",xtsuku[i]);
*/
return 0;
} 展开
xtsuku=(int*)malloc(4);
scanf("%d",&xtnumber);
xtsuku[0]=2;
xtcount=1//一个数组
for(i=3;i<=xtnumber;i++)
{
for (ii=0;ii<xtcount;i++)
{
if ((i mod xtsuku[ii])==0)
{
xtissu=0;
break;
}
else{
xtissu=1;
}
}
if(xtissu==1)
{
xtcount++;
xtsuku=(int*)malloc(4*(xtcount-1));
xtsuku[xtcount-1]=i;
}
}
/* for (i=0;i<xtcount;i++)
printf("%d",xtsuku[i]);
*/
return 0;
} 展开
1个回答
2016-08-18
展开全部
第一次申请动态内存使用malloc,然后扩大使用realloc就好了
http://baike.baidu.com/search/word?word=realloc
http://baike.baidu.com/search/word?word=realloc
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询