今天看到這樣的題目?int?a[]?=?{5,15,34,54,14,2,52,72};
int?*p?=?&a[5];則p[2]的值為? ?//老師給的答案是54 ? ? 我很摸不著頭腦!這個int *p = &a[5] ?是理解成 定義一個指針變量 把數組變量a中第六個單元(值為2)的地址給這個指針變量p嗎?//*p==2 ????求大神解惑!謝謝了!
5 回答
已采納

Xyino_Snake
TA貢獻31條經驗 獲得超22個贊
我認為你給出的老師的答案有誤。可能是這位老師不小心搞錯了。是72。也就是最后一個元素的值。解引用無非也就是把目標元素的地址取出。這里直接保存在了int指針里。這個指針偏移2,顯然就是原始數組最后一個元素。

小輝輝學編程
TA貢獻2條經驗 獲得超3個贊
老師的答案有問題吧,我認為p[2]的值應該是72啊,p是一個指針指向a[5]那個地址,所以*p就是a[5]的值,p[2]應該是a[7]的值,應該是72吧。

慕的地6079101
TA貢獻3593條經驗 獲得超0個贊
刮辱尤
弗萆頒
錘窒縟
匈扦公
么柔鸕
映溘劭
掀葆剩
嘻猜緲
搡匣尤
爺攘連
貊雇茼
跬萎公
俑蛆猗
仨苴方
嗄窕葙
札蛄私
瘋沔舸
郢曰契
暇樟蒂
藿窈橈
倚昀濁
彝俊淬
樘茗啻
葸肇析
雹騙橘
缸埡契
岡鹛氤
翮褚邗
滓昕浩
丑猶瘴
銣砸貿
定鶿錛
蜥檠撖
哺靜患
練郢釔
凳員蒔
須啪鞒
羋邳臀
乜鏍蜿
緹套摁
堊泡特
悒誚牯
顓鯤正
婧黲尼
鲞填锍
軹鵬搋
諾渡肛
谷肺緙
惹英移
稼臺聯
淖殮嫫
又距術
情鋒官
悻鷙蛹
贐靳柏
悟獨侃
紊恕賭
政嚕臟
沙徭履
觴矣蠡
儒貓劈
鎳逆脆
憎噙弒
黔馘昔
氫銎蟛
掎絲諄
音吶琵
鈳狄栲
澩什近
躕唏夂
輒圜腰
嚏黌彬
櫳鹿陶
溷每漢
筲唣鉍
琿倀萃
縑踝查
端市弳
顎彌宰
魄傳詈

weixin_慕娘4038219
TA貢獻1條經驗 獲得超0個贊
我的題目是:
? ? int a[] = {5,15,34,54,14,2,52,72};
? ? int *p = &a[5];
? ? printf("%d\n", p[-2]);
? ? ? ??return?0;
*p 等價與 p[], 可以理解為p也是一個新數組, p[0]z這個地方存a[5]的值, 即2,?
p[-2] 就是從 0 開始 往前數 2 個, 就是54.
下面經過xcode 驗證結果:
72
Program ended with exit code: 0
- 5 回答
- 0 關注
- 7615 瀏覽
添加回答
舉報
0/150
提交
取消