c语言 - 无法在 malloc 矩阵中输入值



所以我需要创建动态大小矩阵,并且我需要使用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

相关内容

  • 没有找到相关文章

最新更新