问题 单项选择题

下列程序的输出结果是( )。
#include<stdio. h>
#define N 3
#define M 3
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[i][j], *(a[i]+j), *(*(a+i)+j), (*(a+i))[j], *(&a[0][0]+4*i+j)。

单项选择题
判断题