Tom*_*man 0 c++ pointers access-violation
我的程序有问题我不知道该怎么办:(
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("%.2lf\n", *polsum[i]);
return 0;
Run Code Online (Sandbox Code Playgroud)
}
你能帮我吗?这是一条消息:0x012947F8Projekt中的未处理异常1.exe 0xC0000005::
访问违规写入位置
0xCCCCCCCC.
*polsum[i]=n;应该是(*polsum)[i] = n;.
*polsum[i]是*(polsum[i]),它被视为polsum一个数组,但你可能打算将它作为一个指针,指向一个指针的指针double *.
将其更改为(*polsum)[i])"查看double *那是polsum点的位置.这double *指向一个有很多double物体的地方.获得i第一个物体."
| 归档时间: |
|
| 查看次数: |
8707 次 |
| 最近记录: |