問題詳情

34 某個以列為主(row-major)儲存的三維陣列 A[3][4][5],若 A[0][2][4] 的位址是

,A[1][2][2] 的位址是

,則 A[2][1][2] 的位址為何?
(A)


(B)


(C)


(D)

參考答案

答案:B
難度:適中0.533
書單:沒有書單,新增

用户評論

努力考上公務員】評論

考二維就已經很麻煩了出題老師-.-不過至少這題有告知是row-major(算良心嘛哈)那麼三維陣列的公式如下三維陣列 A [u1][u2][u3]  A[i][j][k] = A0 + ( i*u2*u3 + j*u3 + k )  * d  一般來說d沒說就是1 但是這題有提供兩個位址 所以基本可以確定他要你自己求d 出題老師 真好讚超過100分!A[0][2][4]=> 2048 = A0 + (0*4*5 + 2*5 + 4)d => A0 = 2048-14d把這個A0套入下一個陣列的A0A[1][2][2]=> 2084= A0 + (1*4*5 + 2*5 + 2)d  => 2048-14d + 32d =208416d = 32 =>d = 2; A0 = 2020;恭喜算到這的各位XDA[2][1][2] = 2020 +(2*4*5+1*5+2)*2 = 2020+ 47*2 = 2114

shengyuan】評論

A[1][2][4]跟A[0][2][4]差距20個單位所以A[1][2][2]跟A[0][2][4]差距18個單位18個單位,位址差了2084-2048=36所以每個單位位址占了2A[2][2][2]=A[1][2][2]+20個單位*2 = 2084+40 = 2124A[2][1][2]=A[2][2][2]-5個單位*2 = 2124-10 = 2114