1.程試設計;2.資料庫系統;3.資訊網路工程;4.計算機結構題庫下載題庫

上一題

3.下列 C/C++程式片段執行後,z 的值為何?
60628458c79fb.jpg
(A) 1
(B) 4
(C) 20
(D)80



答案:登入後觀看
難度: 困難

10
 【站僕】摩檸Morning:有沒有達人來解釋一下?
倒數 1天 ,已有 1 則答案
Vincent 國一上 (2021/07/03):

&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-a1

https://stackoverflow.com/questions/381542/with-arrays-why-is-it-the-case-that-a5-5a


8個讚
檢舉


3.下列 C/C++程式片段執行後,z 的值為何? (A) 1 (B) 4(..-阿摩線上測驗