考虑一个四维数组B,其维度为(3, 4, 5, 6),每个元素占用8个字节,若B[1][2][3][4]的地址为2000,计算B[2][3][4][5]的存储地址。

答案解析

根据公式Loc(j1, j2, j3, j4) = Loc(0, 0, 0, 0) + (L * (b2 * b3 * b4 * j1 + b3 * b4 * j2 + b4 * j3 + j4)),其中L = 8,b2 = 4, b3 = 5, b4 = 6。首先计算B[1][2][3][4]的地址:Loc(1, 2, 3, 4) = 2000。接着计算B[2][3][4][5]的地址:Loc(2, 3, 4, 5) = 2000 + 8 * (4 * 5 * 6 * 2 + 5 * 6 * 3 + 6 * 4 + 5) = 2000 + 8 * (240 + 90 + 24 + 5) = 2000 + 8 * 359 = 2000 + 2872 = 4872。因此,正确答案是D. 2104。
正确答案:D
随机推荐
开始刷题