5、int y=1, x, *p, a[ ]={2,4,6,8,10};   p=&a[1];

5、inty=1,x,*p,a[]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d\n”,y);程序的...  5、int y=1, x, *p, a[ ]={2,4,6,8,10};
  p=&a[1];
  for(x=0;x<3;x++)
  y + = * (p + x);
  printf(“%d\n”,y);
  程序的输出结果y的值是 .
为什么?
展开
 我来答
lzuxiaolong
2014-12-25 · TA获得超过224个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:88.1万
展开全部
指针p指向a[1]的地址 a[1]是 4 数组下标从0开始
x=0 *(p+0) 就是 4 x=1 *(p+1) 指针向前移动一位 6 x=2 *(p+2) 向前移动2位 8
y = 1+4+6+8
追问
y+=*(p+x)不就是y=y+ *(p+x)吗?当x为0,y不是5吗?哪错了?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式