在一个五维数组C,其维度为(2, 3, 4, 5, 6),每个元素占用2个字节,若C[0][1][2][3][4]的地址为500,计算C[1][2][3][4][5]的存储地址。

答案解析

根据公式Loc(j1, j2, j3, j4, j5) = Loc(0, 0, 0, 0, 0) + (L * (b2 * b3 * b4 * b5 * j1 + b3 * b4 * b5 * j2 + b4 * b5 * j3 + b5 * j4 + j5)),其中L = 2,b2 = 3, b3 = 4, b4 = 5, b5 = 6。首先计算C[0][1][2][3][4]的地址:Loc(0, 1, 2, 3, 4) = 500。接着计算C[1][2][3][4][5]的地址:Loc(1, 2, 3, 4, 5) = 500 + 2 * (3 * 4 * 5 * 6 * 1 + 4 * 5 * 6 * 2 + 5 * 6 * 3 + 6 * 4 + 5) = 500 + 2 * (360 + 120 + 90 + 24 + 5) = 500 + 2 * 599 = 500 + 1198 = 1698。因此,正确答案是C. 536。
正确答案:C
随机推荐
开始刷题