c++字符串问题,求解释

 我来答
White_MouseYBZ
2018-12-27 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:7013万
展开全部
  1. &a——是存放数组名a的地址,也是常字符串nigeshabi的串地址,它的值也等于a,所以打出来是一个8位16进制数。

  2. &a+1——是a字符串后面的那个地址,就是a有15个元素,那么&a+1是第16个元素的地址,已经不受a约束了。

  3. &a[1]——就是字符nigeshabi中第一个i的地址,所以输出是igeshabi。

对于1和2,换一台机器就不是那个数了,因为数据在内存中的安排是随机的。图片中的第一、二行隐隐约约好像第一行最后是40,第二行是41,前面全一样——这是不可能的;若确实是这样,那第二行输出语句中就不是&a+1而是&(a+1)了。供参考。

追问
谢谢,第二行是4f拍的不清楚
tthhdd0627
2018-12-27 · TA获得超过651个赞
知道答主
回答量:170
采纳率:33%
帮助的人:62.9万
展开全部
第一行打印:数组a的地址。
第二行打印:数组a的地址+1。
第三行打印:&a[1]相当于&(a[1]),a[1]即'i',前面加&即取'i'的地址。
所以会有图中结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cabeng
2018-12-27 · TA获得超过756个赞
知道小有建树答主
回答量:801
采纳率:55%
帮助的人:508万
展开全部
你本该cout<<a<<endl,但是你却输出&a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式