若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()   A、p+=2,*(p++)B、p+=2,*++pC、p+=3,*p++D、p+=2,++*P

题目

若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()   

  • A、p+=2,*(p++)
  • B、p+=2,*++p
  • C、p+=3,*p++
  • D、p+=2,++*P
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有int x[5],*p=x;则数组元素x[3]可以表示为*(p+【 】),也可以表示为p[3]。


正确答案:3
3

第2题:

若有定义: int*p; 则下列各选项中,不同于表达式“*p=*p+1;”的是( )。

A.*p++;

B.++*p;

C.*p+=1;

D.++(*p);


正确答案:A
解析:题目中的语句“*p=*p+1;”是将指针变量p所指向的存储单元的值加1,然后再放入p所指向的存储单元中。选项A中,语句“*p++;”,当把该表达式赋给一整型变量k时,就会发现,原语句可变为“k=*p;p=p+1;”,即语句“*p++”最后所执行的是p的值(即p中存放的地址)加1,与题中语句“*p=*p+1;”的意思不同。再来看选项B,C,D,选项B中的语句可表示为“*p=*p+1;”。选项C中的语句可表示为“*p=*p+1;”。选项D中的语句也可表示为“*p=*p+1;”。

第3题:

若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},,*p=a;则值为6的表达式是( )。A.*p+6 B.*(p+6) C.*p+=5 D.p+5


正确答案:C

A项是1+6=7B项是p+6指向7D项是指针,是一个地址。应该改为*(p+5)

第4题:

有以下程序

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

printf("%d\n",*p+*q);}

程序运行后的输出结果是


正确答案:8
8 解析:*p=&a[3],即*p=4,*q=p+ 2;即*q=6,所以*p+*q=10。

第5题:

若有以下定义: int a[ ]={1,2,3,4,5,6,7,8,9,10},* p=a; 则值为3的表达式是 ( )

A.p+=2,* (pd+ +)

B.p+=2,* + +p

C.p+=3,* p+ +

D.p +=2,+ + * p


正确答案:A

第6题:

若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为6的表达式是_______。

A.*p+6

B.*(p+6)

C.*p+=5

D.p+5


正确答案:C
解析:选项A,*p+6,其值等于1+6=7;选项B,*(p+6),其值等于a[6]=7;选项C,*p+=5,其值等于*p=*p+5=1+5=6;选项D,p+5是个地址值。

第7题:

若有以下定义和语句: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是______。

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p


正确答案:A
解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

第8题:

有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是( )。

A)*p+9 B)*(p+8)C)*p+=9 D)p+8


正确答案:B
*p=a是将数组的首地址赋给p,因此数值9的表达式为*(p+8)

第9题:

有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。 A.*P+9SXB

有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。

A.*P+9

B.木(P+8)

C.*P+=9

D.P+8


正确答案:B
本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即P+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。

第10题:

变量定义如下;int *p; 则下列不同于*p=*p+1; 的是( )。

A.*p++;

B.++ *p;

C.*p+=1;

D.++( *p);


正确答案:A
解析:*p=*p+1;是将指针变量p所指向的存储单元的值加1,然后放入p所指向的存储单元中。而选项A中最后是将p的值加1,即移动一个单位的存储单元。

更多相关问题