参考答案: C
详细解析:
题目告诉我们是按列存储,那么在存储元素arr[i,j]以前,应该存放了j-1列,而每一列中有M个元素(即数组的行数),那么应该有(j-1)*M个元素,而在第j列中,存放元素arr[i,j]以前,应该有i-1个元素被存放,因此,在存放元素arr[i,j]以前总共有(j-1)*M+i-1个元素被存放,而每个元素占用K个存储单元,因此本题答案选C。
若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为( )。
A. base+((i-1)*M+j-1)*K
B. base+((i-1)*N+j-1)*K
C. base+((j-1)*M+i-1)*K
D. base+((j-1)*N+i-1)*K
参考答案: C
详细解析:
题目告诉我们是按列存储,那么在存储元素arr[i,j]以前,应该存放了j-1列,而每一列中有M个元素(即数组的行数),那么应该有(j-1)*M个元素,而在第j列中,存放元素arr[i,j]以前,应该有i-1个元素被存放,因此,在存放元素arr[i,j]以前总共有(j-1)*M+i-1个元素被存放,而每个元素占用K个存储单元,因此本题答案选C。