問題詳情

3.下列 C/C++程式片段執行後,z 的值為何?


(A) 1
(B) 4
(C) 20
(D)80



參考答案

答案:A
難度:計算中-1
書單:沒有書單,新增

用户評論

Vincent】評論

&a[5] = &(*(a + 5))&a[4] = &(*(a + 4))&(*(a + 5)) - &(*(a + 4)) 中鄰近的 &* 可以相銷 (一個取址運算一個間接運算)即  (a + 5) - (a + 4) = 1指標的+-法是算出相差幾個元素,並非相差幾個位元。故相差一個元素的距離。// ptr++; 是表示前往下一個元素* 補充資料a[b] == *(a + b)a[5] == *(a + 5)a是指向陣列第一個元素的指標a[5]是離a遠5個元素距離的值參考資料:https://stackoverflow.com/questions/6106095/c-a2-a1https://stackoverflow.com/questions/381542/with-arrays-why-is-it-the-case-that-a5-5a