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;
} 展开
我想使用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;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询