访问冲突读取位置0xCCCCCCCC

Access violation reading location 0xCCCCCCCC

本文关键字:0xCCCCCCCC 位置 读取 访问冲突      更新时间:2023-10-16

我的程序有问题,我不知道该怎么做:(

double spocitaj(FILE *fr,double **polsum, int *cena){
int r=0, i=0,k=0;
double n=0;
char c;

while((c=getc(fr))!=EOF){
    if(c=='n') r++;
    if(r==4){
        *cena=k++;
        r=5;
    }
    if(r==6) r=0;       
}
*polsum=(double *)calloc(k,sizeof(double));
r=1;
rewind(fr);
while((c=getc(fr))!=EOF){
    if(c=='n') r++;
    if(r==4) {
                    ungetc(c,fr);
            fscanf(fr,"%lf", &n);
            *polsum[i]=n;
            i++;
    }
    if(r==6) r=1;       
}
for(i=0;i<*cena;i++)
                    printf("%.2lfn", *polsum[i]);
return 0;

}

你能帮我一下吗?这是一条信息:Projekt 1.exe中0x012947F8的未处理异常:0xC0000005:

访问违规写入位置0xCCCCCCCC .

*polsum[i]=n;应为(*polsum)[i] = n;

*polsum[i]*(polsum[i]),它将polsum视为数组,但您可能希望它是单个指针,指向存在double *的指针。

将此更改为(*polsum)[i])表示"查找polsum所在的double *double *指向一个有许多double对象的地方。获取i 一个