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

题目
单选题
若有定义:int a[10],*p; 则*(p+5)表示()。
A

元素a[5]的值

B

元素a[5]的地址

C

元素a[6]的值

D

元素a[6]的地址

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

第1题:

若有定义语句:"int a[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是( )。A.D=aB.q[i]=a[i]C.p=a[l]D.

若有定义语句:"int a[4][10],*P,*q[4];"且0≤i<4,则错误的赋值是( )。

A.D=a

B.q[i]=a[i]

C.p=a[l]

D.P=&a[2][1]


正确答案:A
数组名是一个存放一个数组首地址的值,是一个地址常量。而p=a不是合法的,因为p和a的基本类型不同。

第2题:

若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

若有定义int a[9],+P=a;,则P+5表示( )。

A.数组元素a[5]的值

B.数组元素a[5]的地址

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

D.数组元素a[0]的值加上5


正确答案:B
本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

第3题:

设有以下定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a【1】【2】的表达式是( )。A.*((*ptr+1)[2])B.*(*(p+5))C.(*ptr+1)+2D.*(*(a+1)+2)


正确答案:D
a[1][2]的值为6. *ptr的值为1,*ptr+1=2是一个数组,所以(*ptr+1)[2]表示不正确。P=a,指向1,p+5是指针向后移动5个单元,即指向6,*(p+5)即是6,C项解释同A,

第4题:

若有如下定义,则__________是对数组元素的正确的引用。. int a[10] , *p ; p=a ;

A.*&a[10]

B.a[11]

C.*(p+11)

D.*p *p *p


正确答案:D

第5题:

若有定义,inta=5;则int*p=&a;表示在对P进行说明的同时进行初始化,使p指向a。

此题为判断题(对,错)。


正确答案:√

第6题:

若有以下定义,则对a数组元素的正确引用是( )。 int a[5],*p=a;

A.*&a[5]

B.*a+1

C.*(p+5)

D.*(a+2)


正确答案:D

第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题:

若有定义int a[9],*p=a;,则p+5表示

A.数组元素a[5]的值

B.数组元素a[5]的地址

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

D.数组元素a[0]的值加上5


正确答案:B
解析:本题考查了通过指针来引用一维数组元素的方法。题中*p=a;这一赋值语句是指针p指向了数组a的首地址,p+5是指针p向后移动了5个int类型的存储单元,所以p+5指向了数组元素a[5]。

第9题:

在C语言中,若有定义“int a[10];”,则______不能表示a[1]的地址。

A.a+l

B.&a[0]=1

C.a++

D.&a[1]


正确答案:C
解析:在C语言中,数组名作为地址常量,表示数组中的第一个元素的地址。a++为后置运算:C语言先引用变量的数值作为整个自违章罚款表达式的值,然后执行对该变量的加1运算

第10题:

若有定义“int b[8],*p=b;”,则p+6表示( )。A.数组元素b[6]的值B.数组元素b[6]的地址SX

若有定义“int b[8],*p=b;”,则p+6表示( )。

A.数组元素b[6]的值

B.数组元素b[6]的地址

C.数组元素b[7]的地址

D.数组元素b[o]的值加上6


正确答案:B
指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中p+6指的是将指针向后移动了6个存储单元,即指向b[6],存放的是b[6]的地址。