c++运行结果

#include<stdio.h>voidmain(){inta[]={2,4,6,8,10},*p=a+2,y;y=*(––p)++;printf("%d",y);}... #include <stdio.h>
void main( )
{
int a[ ]={2,4,6,8,10},*p=a+2,y;
y=*(––p)++;
printf("%d",y);
}
展开
 我来答
寻一个人过一生
2018-03-23
知道答主
回答量:7
采纳率:60%
帮助的人:2万
展开全部
4
*p=a+2;指向的是a[2]的地址,即6。
(--p)++先执行的是--p,p指向a[1]的地址,++在执行完赋值操作之后再运行。
所以y=*(--p)++;其实是y=a[1]; a[1]++;所以y值实际为4。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式