我做了这个程序,我声明
long double *M;
然后我从文件中读取数据
i=1;
M = (long double *) calloc ( i , sizeof(long double) );
while ( !feof( arq_matriz ) ){
fscanf ( arq_matriz , "%Lf" , (M+i-1));
i++;
M = (long double *) realloc ( M , i * sizeof(long double) );
}
fclose(arq_matriz);
所以,为了测试我把它打印在屏幕上
for (i=0;i<=44;i++){
printf("\n %Lf",*(M+i));
}
一切都很完美。但是当我将它传递给一个函数时,甚至当我调试它时,我得到了 *M=0 而事实 *M = 0.25 和 *(M+1) = 'invalid float number'。我不知道为什么会发生这种情况,因为所有内容都直接打印在屏幕上。有什么提示吗?谢谢!