c语言 我想使用calloc函数以及realloc函数进行动态内存分配,但是总是出错,希望大佬帮忙

c语言我想使用calloc函数以及realloc函数进行动态内存分配,但是总是出错,希望大佬帮忙程序只是用动态存储输入一些数,然后将他们输出,不做其他任何处理,数据的数量... c语言
我想使用calloc函数以及realloc函数进行动态内存分配,但是总是出错,希望大佬帮忙程序只是用动态存储输入一些数,然后将他们输出,不做其他任何处理,数据的数量以及大小均不定,文件结束则输入结束。
图片中是源程序的拍照以及点击运行后的拍照,希望大佬帮忙解决问题,万分感谢。

以下是源程序:
#include<stdio.h>
#include<stdlib.h>

int main(){
int *a = NULL,n = 2,i = 0;
a = (int *)calloc(n,n * sizeof(int));
if(a == NULL)printf("first calloc error\n");
FILE *fp = fopen("Êý×Ö1~1000.txt","r");
while(fscanf(fp,"%d",&a[i]) != EOF){
i ++;
if(i>=n){
n *= 2;
a = (int *)realloc(a,n);
if(a == NULL)printf("the %d time realloc error\n");
}
}
fclose(fp);
for(i = 0;i<n;i++)printf("%d",a[i]);
free(a);
return 0;
}
展开
 我来答
itunes0004
2018-04-13 · TA获得超过4045个赞
知道大有可为答主
回答量:2685
采纳率:69%
帮助的人:531万
展开全部
int *a=(int*)calloc(n, sizeof(int)); 
a=(int*)realloc(a, n*sizeof(int));
捣蒜大师Edison
2018-04-13 · TA获得超过2963个赞
知道大有可为答主
回答量:3825
采纳率:77%
帮助的人:1345万
展开全部
a=(int*)realloc(a,n*sizeof(int));   //!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式