问题
单项选择题
下列程序的输出结果是 #include"stdio.h" #define N3 #define M3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}
A.3
B.4
C.5
D.6
答案
参考答案:B
解析: 若有以下定义:int a[3][4],i,j;且当 0<=i<3,0<=j<4,则可以有以下几种方式来引用数组中的第i行,第j列的元素: a[a][j],*(a[i]+j),*(*(a+i)+j),(*(a+i)[j],*(&a [0][0]+4*i+j)”。