问题 单项选择题

下列程序的输出结果是
#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)”。

单项选择题
选择题