若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的是( )A、p+=2;*(p++);B、p+=2;*++p; 5

书上答案选A;但是在c++上运行(A选项的程序)得到答案为4;按照逻辑,p+=2;这一条语句的结果就是a[2],后面自增1,就变成a[3],那结果就是4了!但答案是3,望... 书上答案选A;但是在c++上运行(A选项的程序)得到答案为4;按照逻辑,p+=2;这一条语句的结果就是a[2],后面自增1,就变成a[3],那结果就是4了!但答案是3,望网友解答!!! 展开
 我来答
紫霖LYlzt
2020-05-28
知道答主
回答量:1
采纳率:0%
帮助的人:600
展开全部
p++的结果是a[3],也就是4;但是p++本身的值是a[2],即为3.
换句话说,p++后,p的值会加1,但是你在程序里加一句n=p++,就可以看到n的值还是p。
A的意思应该是p++本身的值。
补充一点,如果是++p的话,值就是a[3]了。不管是p++还是++p,结果都会自增1,但是它本身的值要看加号在前还是在后。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式