1个回答
展开全部
a+2 等价于 &a[2];就是第二个元素的地址(数组是从下标是从0开始的)
所以第一行第一个输出的是第二个元素的地址,后面输出第二个元素 3
第二行第一个输出第二个袁术的地址,后面输出第二个元素3,第三个也是输出第二个元素的3,
然后进行的累加,因为是后++,所以是先输出,再累加。
朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。
所以第一行第一个输出的是第二个元素的地址,后面输出第二个元素 3
第二行第一个输出第二个袁术的地址,后面输出第二个元素3,第三个也是输出第二个元素的3,
然后进行的累加,因为是后++,所以是先输出,再累加。
朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。
更多追问追答
追问
可是答案是34,3和44,4,3啊_(:з」∠)_
追答
抱歉,我看成int数组了,是char数组,放大了还是太小,太模糊了。。
a+2 等价于 &a[2],对于字符串就是从第二个元素开始的串;
所以第一行第一个输出的是从第二个元素开始的串也就是34,后面输出第二个元素 3
第二行比较特别因为有++这个能改变数据的运算符在里面,
(*(s + 2))++ 计算完之后 a[2]变成了'4',因为是后++,所以第三个<<的形参还是'3'
但第二个<<的形参就是'4'了,第一个<<得到的a[2]也是'4'所以输出就是‘44’
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询