3.下列 C/C++程式片段執行後,z 的值為何? (A) 1 (B) 4(..-阿摩線上測驗
3.下列 C/C++程式片段執行後,z 的值為何?
(A) 1
(B) 4
(C) 20
(D)80
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 | 檢舉 |
|
|