{ int a[]={2,4,6,8}, *p=a, i;

164、以下程序的输出结果是(A)A、6B、8C、4D、2main(){inta[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++)a[i]=*p++... 164、以下程序的输出结果是( A )
  A、 6 B、8 C、 4 D、2
 main()
 { int a[]={2,4,6,8}, *p=a, i;
 for(i=0; i<4; i++) a[i]=*p++;
 printf(“%d\n”,a[2]);
 }
展开
 我来答
nydnhs
推荐于2018-05-15 · TA获得超过1070个赞
知道小有建树答主
回答量:622
采纳率:0%
帮助的人:518万
展开全部
int *p=a,意思是定义一个指向int型的指针p,并赋初值a,a是数组a的首地址,所以p+i表示的就是a[i]的地址。
a[i]=*p++,由于指针运算和自加运算满足从右向左的原则,但是p++是先用p,在将p的值加1,所以当i=0时,*p表示的就是a[0]的值,a[0]=a[0],然后p=p+1,此时p为a[1]的地址了,依次下去,所以整个数组没变,a[2]仍为6
tseug8271
2012-06-18 · TA获得超过1498个赞
知道小有建树答主
回答量:745
采纳率:100%
帮助的人:367万
展开全部
a[i]=*p++ 相当于 a[i]=a[i]; 所以 a[2]还是 6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅元燕2801
2012-06-18 · TA获得超过5.2万个赞
知道大有可为答主
回答量:4万
采纳率:0%
帮助的人:5694万
展开全部
选A、6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式