所以我需要创建动态大小矩阵,并且我需要使用malloc,因为它的最大大小必须是10000。我试过这样的东西:
double *matrix =malloc(rowCount * colCount * sizeof (double));
我用给这个矩阵加值
for (i =0;i<rowCount;i++){
for (j=0;j<colCount;j++){
matrix[i* colCount+j]=(double)i;
}
}
但是当我想用这个获取值时:
for (i=0;i<rowCount;i++){
for(j=0;j<colCount;j++){
printf("%d",matrix[i*colCount+j]);
}
printf("n");
}
我在所有位置都得到0。任何人都可以帮我,告诉我我在这里做错了什么?
%d
不用于打印浮动。您想要%f
如果您在一个具有32位int和64位double的平台上,那么您的代码将打印一部分完全为0的浮点值。
https://en.wikipedia.org/wiki/Double-precision_floating-point_format