设有一个二维数组a[m][n],假设a[0][0]存放位置为644,a[2][2]存放位置为676,每个元素占一个存储空间,则a[3][3]存放位置为( )

设有一个二维数组a[m][n],假设a[0][0]存放位置为644,a[2][2]存放位置为676,每个元素占一个存储空间,则a[3][3]存放位置为( )


A、

678


B、

688


C、

692


D、

696


【正确答案】:C
【题目解析】:

对于二维数组a[m][n],如果每个元素占k个存储单元,以行为主序为例,数组元素a[i][j]位置与下标的关系:由于下标从0开始,元素a[i][j]之前已经有i行元素,每行有n个元素,在第i行,有j+1个元素,总共有n*i+j+1个元素,第一个元素与a[i][j]相差n*i+j+1-1个位置,故a[i][j]的位置为:loc[i,j]=loc[0,0]+(n*i+j)*k

本题中a[0][0]存放位置为644,a[2][2]存放位置为676,每个元素占一个存储空间,即676=644+(n*2+2)*1,解得n=15。

a[3][3]存放位置为644+(15*3+3)*1=692,故本题选C。


Top