设二维数组a[m][n],每个数组元素占用k个存储单元,第一个数组元素的存储地址是LOC(a[0][0]),求按列优先顺序存放的数组元素a[i][j](0≤i≤m-1,0≤j≤n-1)的存储地址为( )。
A. LOC(a[0][0])+[(i-1)×n+j-1]×k
B. LOC(a[0][0])+[i×n+j]×k
C. LOC(a[0][0])+[j×m+i]×k
D. LOC(a[0][0])+[(j-1)×m+i-1]×k
N诺智能批改可自动批改答案并给出反馈,每次使用将消耗 1个诺币
您当前的诺币数量: 个
N诺正在智能批改,预计需要30秒,请稍候...
由于下标从0开始,先计算偏移量,j*m+i,再乘以字节既是(j*m+i)*k,最后加上第一个数组元素的地址,所以是(j*m+i)*k+Loc(a[0][0]),选C。
这里要注意的是下标是从0开始的还是从1开始的,从1开始时,i,j都需要-1,从0开始时,不用减。
这个算的是行优先吧,题目要列优先
gxb 回复 posthuman: 我也觉得 有问题
快乐小土狗 回复 gxb: 答案没问题,列优先是C、行优先是B
C
登录后提交答案