设有定义语句:int x[6]={2,4,6,8,5,7},*p=x,i;

设有定义语句:int x[6]={2,4,6,8,5,7},*p=x,i;
设有定义语句:int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组中6个元素中的值,下列选项中能完成此操作的语句有( ).本题(2分)
A:for(i=0;i
其他人气:568 ℃时间:2019-09-22 07:52:56
优质解答
*p=x是定义了一个int型的指针p,并给这个指针赋值为x(x为一个数组,实际上也可以看做int的指针)
p++就是取出p的当前值,然后把指针指向下一个元素,p + i就是取出指向第i+1个元素的指针.
所以ABC都可以,
D不可以,是因为(*p)++里面++的是数组里面元素的值,而不是p这个指针本身for(i=0;i<6;i++)printf(“%2d”,*(p++));这个已经+1了,指针不是指向下个元素了?输出的怎么不是4,6,8,5,7?p++是先取出p的当前值,然后再把指针指向下一个元素,所以会先取出p的值去求*p,然后再指向下个元素
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版