很奇怪的double数组

  前段时间在做C语言课程设计的时候,需要存储分数的数组,之后简单的使用

fra=(double *)calloc(num,sizeof(double));

  这样的一条语句来存储分数,看起来没有任何问题,实际上我在测试的过程中也不存在问题,使用一次循环能够很好的输出全部数据,不过当我想将double数值转换为字符串却出了问题,只有第一个能够正确输出,第二个就是零,之后的要不就是一个超级大的负数或正数。问题查找了好久都没有结果,上网搜也觉得不是个办法,因为一两天我都没有找到办法。
  有一个打算就是将数组转为float类型,不过看了一下代码以后放弃了,前面全是double类型写的。之后发现一个问题,第一个数据不是正确的吗!大不了我多建几个数组,之后问题便很顺利的解决了。当然这也是受了指针数组的启发。

int i,num=5;
double **fra;

fra=(double **)calloc(num,sizeof(double *));
for(i=0;i<num;i++)
fra+i*sizeof(double *)=(double *)calloc(1,sizeof(double));

8条评论在“很奇怪的double数组”

写下你最简单的想法