为什么主函数中的最后一个 printf 没有将值 10 打印到屏幕上? 我知道在 ANSI C 中,静态分配的矩阵在内存中的排列方式如下: 矩阵:矩阵[0][0]、矩阵[0][1]、...、矩阵[0][ColumnsDimension-1]、矩阵[1][0]等
#include <stdio.h>
#include <stdlib.h>
#define dimRighe 20
#define dimColonne 30
int main()
{
int matrice[dimRighe][dimColonne];
int i,j;
for(i=0;i<dimRighe;i++)
for(j=0;j<dimColonne;j++)
matrice[i][j] = i+j;
matrice[0][3] = 10;
i = 0; j = 3;
printf("%d",*matrice[i*dimColonne+j]);
return 0;
}
最佳答案
改用*(matrice[i * dimColonne] + j)
。
关于c - 矩阵访问 Ansi C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166401/