> 其他 >
设有定义语句: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
人气:118 ℃ 时间: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,然后再指向下个元素
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版