设有定义语句: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
人气:191 ℃ 时间: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}; ,
- 英语翻译
- 关于皮带传动装置,
- Simon ,I'm going to Beijing with my parents tomorrow.
猜你喜欢