【发布时间】:2012-02-06 19:58:15
【问题描述】:
为什么 main 函数中的最后一个 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*dimCollonne][j]? -
@ChrisBrowne 那也是错误的。你的意思是说
matrice[i][j]。