问题描述
我尝试使用两个动态数组,以使第二个数组仅接受来自用户收费的第一个数组中的非null元素,并且在每次迭代中重新分配第二个数组的大小。最后,我想获得一个没有null元素的数组,但是我的代码在这里不起作用:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,*T,*K,*p,i=0,j=0,size;
printf("Choose the number of elements :\t");
scanf("%d",&n);
printf("\n");
T=(int*)malloc(n*sizeof(int));
K=malloc(sizeof(int));
for(p=T;p<T+n;p++){
printf("Enter T[%d]\t",p-T);
scanf("%d",p);
}
for(i=0;i<n;i++){
if(*T!=0){ K = (int*)realloc(K,(j++)*sizeof(int));
*K=*T;
K++;
}
T++;}
size = sizeof K / sizeof *K;
for(i=0;i<n;i++){
printf("\n\nT+%d=%d *T=%d",i,K,*K);
K++;}
printf("\n");
return 0;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)