设有一个二维数组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。