设有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,不能完成此操作

题目

设有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,不能完成此操作的语句是______。

A.for(i=0;i<6;i++) printf("%2d",*(p++));

B.for(i=0;i<6;i++) printf("%2d",*(p+i));

C.for(i=0;i<6;i++) printf("%2d",*p++);

D.for(i=0;i<6;i++) printf("%2d",(*p)++);

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

没有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,不能完成此操作的语句是

A.for(i=0;i<6;i++) printf("%2d",*(p++));

B.for(i=0;i<6;i++) printf("%2d",*(p+i);

C.for(i=0;i<6;i++) printf("%2d",*p++);

D.for(i=0;i<6;i++) printf("%2d",(*p)++);


正确答案:D
解析:本题首先定义了一个一维数组并初始化,接着定义了一个指针变量 p指向数组x。因此可以通过指针p的下移,即每次加1引用数组x中的元素,来指向数组中的每个元素,这样循环6次即可引用数组的每个元素。选项A、B和选项C满足要求,而在选项D中表达式为(*p)++,该表达式是先取*p的值然后将其值加1,而没有将指针下移一位。

第2题:

设有定义:double x[lO],*p=x;,以下能给数组x下标为6的元素读人数据的正确语句是

A.scanf(“%f”,&x[6]);

B.scanf(“%If”,*(x+6));

C.scanf(“%lf”,p+6);

D.scanf(“%lf”,p[6]);


正确答案:C

第3题:

以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回 , 但程序中有错导致不能实现预定功能

#define MIN -2147483647

int findmax (int x[],int n)

{ int i,max;

for(i=0;i<n;i++)

{ max=MIN;

if(max<x[i]) max=x[i];}

return max;

}

造成错误的原因是

A) 定义语句 int i,max; 中 max 未赋初值

B) 赋值语句 max=MIN; 中,不应给 max 赋 MIN 值

C) 语句 if(max<x[i]) max=x[i]; 中判断条件设置错误

D) 赋值语句 max=MIN; 放错了位置


正确答案:D

第4题:

设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_()

A、for(i=0;i<6;i++)printf(“%2d”,*(p++));

B、for(i=0;i<6;i++)printf(“%2d”,*(p+i));

C、for(i=0;i<6;i++)printf(“%2d”,*p++);

D、for(i=0;i<6;i++)printf(“%2d”,(*p)++);


参考答案:ABC

第5题:

设有定义语句:

int x[-6]={2,4,6,8,5,7),*p=X,i;

要求依次输出X数组6个元素中的值,不能完成此操作的语句是( )。

A.for(i=0;i<6;i++)printf("%2d",*(p++));

B.for(i=0;i<6;i++)printf("%2d",*(pq-i));

C.for(i=0;i<6;i++)printf("%2d",*p++);

D.for(i=0;i<6;i++)printf("%2d",*(p)++);


正确答案:D
本题要求输出每个元素的值,D选项中(*p)++等价于*p=*p+1,其仅仅是对*p加1,并没有达到输出其每个值的作用。

第6题:

设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;\n要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_().

A、for(i=0;i6;i++)printf(“%2d”,*(p++));

B、for(i=0;i6;i++)printf(“%2d”,*(p+i));

C、for(i=0;i6;i++)printf(“%2d”,*p++);

D、for(i=0;i6;i++)printf(“%2d”,(*p)++);


参考答案:ABC

第7题:

若有定义:int x[10], *p=x;,则*(p+5)表示( )。

A.数组元素x[5]的地址

B.数组元素x[5]的值

C.数组元素x[6]的地址

D.数组元素x[6]的值

E.选项内容11

F.选项内容11

G.选项内容11


参考答案B

第8题:

程序中有如下语句

for(int i = 0; i<5; i++)cout<<*(p + i)<<",";

能够依次输出 int 型一维数组 DATA 的前 5 个元素。由此可知,变量 p 的定义及初始 化语句是【 7 】 。


正确答案:

第9题:

程序中有如下语句

for(int i=0;i<5;1++)cout<<*(p+i)<<",";

能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是【 】。


正确答案:int*p=DATA;
int*p=DATA; 解析:本题考查的是指针变量的定义及初始化。本题的for循环中,循环变量i取值范围是0~4,故输出的5个表达式为从*(p+0)到*(p+4),而题目要求输出int型一维数组DATA的前5个元素。由此可知,变量p是一个指向数组DATA首地址的 int型指针,故它的定义及初始化语句是int*p=DATA;。

第10题:

程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i<<“,”;能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

A.int*p=a;

B.int p=a;

C.*p=a;

D.p=a;


正确答案:A
解析: 从循环语句中可以看出,是在0到4的循环中输出数组a中的前5个元素,输出的值为*(p+i),即为指针p向后移动指向的元素。所以初始化要将指针p指向数组a,即int*p=a;。

更多相关问题