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

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

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

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

weixin_慕娘4038219
TA貢獻1條經(jīng)驗 獲得超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也是一個新數(shù)組, p[0]z這個地方存a[5]的值, 即2,?
p[-2] 就是從 0 開始 往前數(shù) 2 個, 就是54.
下面經(jīng)過xcode 驗證結(jié)果:
72
Program ended with exit code: 0
- 5 回答
- 0 關(guān)注
- 7633 瀏覽
添加回答
舉報
0/150
提交
取消