设有定义语句: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,然后再指向下个元素
推荐
- 设有定义语句“int x[8]={5,4,3,2,1},*p=x;”,则*p+6的值是 ()这个怎么求哦
- 设定义了说明语句:static int a[2][4]={1,2,3,4,5,6,7,8},(*p)[4]=a+1;则p[0][0]的值为_____.
- 若有定义语句int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为多少
- 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 则不能表示a数组元素的表达式是( ) A) *p B)
- 如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,
- 95.0934精确到个位十分位百分位千分位依次是( )( )( )( );那37.9964和5.9898
- {3x+2y=5 {y=2x-1 这是二元一次方程组,
- 直角梯形ABCD中,角A=角B=90°,角C=45°,AB=6,AD=2,则底边BC=?梯形ABCD的面积为多少
猜你喜欢
- 若二次函数y=-x2+mx-1的图象与两端点为A(0,3),B(3,0)的线段AB有两个不同的交点,则m的取值范围是_.
- 已知lg2=0.3010,lg1.0718=0.0301,则2^1/10=?
- 并帮我分析一下其他的选项为什么错
- 高一英语,高手进,求解释原因!急急急,在线等
- 米芾学书这篇文章主要讲了一件什么事简单概括一下
- 一根轻质杠杆,在左右两端分别挂上200N和300N的重物时,杠杆恰巧平衡,若将两边重物同时减少50N,则杠杆
- 翻译none of the singers around the world can match her in special taste in haircuts and clothes
- 一个饲养场,养鸭1200只,(),养鸡多少只?补充问题!