若有以下定义和语句: int s[4][5],(*p)[5]; p=s; 则指针对s数组中第三个元素的正确引用

题目

若有以下定义和语句: int s[4][5],(*p)[5]; p=s; 则指针对s数组中第三个元素的正确引用形式是( )。

A.p[0][3]

B.p[1][2]

C.p[0][2]

D.p[1][3]

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

第1题:

【单选题】若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是 ()

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


C

第2题:

5、现有如下定义语句 int*p,s[20],i;   p=s; 表示数组元素s[i]的表达式不正确的是()

A.*(s+i)

B.*(p+i)

C.*(s=s+i)

D.*(p=p+i)


*(s=s+i)

第3题:

【单选题】若有以下定义和语句: int s[4][5], (*ps)[5]; ps=s; 则对s数组元素的正确引用形式是:()

A.ps+1

B.*(ps+3)

C.*(ps+1)+3

D.ps[0][2]


C

第4题:

若有以下定义语句: double a[5],*p=a; int i=0; 对a数组元素错误的引用是( )

A.a[i]

B.a[5]

C.p[4]

D.p[i]


正确答案:B

第5题:

若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是( )。

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


正确答案:C

第6题:

若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


正确答案:C
解析:本题首先定义了一个4行5列的数组s,又定义了一个指向由5个元素组成的一维数组的指针变量ps,通过赋值让ps指向了数组s的首地址。此时数组元素s[i][j]的地址为“*(ps+1)+j”,数组元素s[i][j]可表示为*(*(ps+1)+j)。选项B表示的是数组元素a[3][0]的地址;选项D表示的是数组元素s[1][3]的地址;选项A中“ps+1”为指向下一行(第二行)的地址;选项c中ps[0][2]无条件等价于“*(ps[0]+2)”又无条件等价于”(*(ps+0)+2)”,即是数组元素s[0][2]。所以,4个选项中C为所选。

第7题:

若有如下定义和语句: int s[4][5],(*p)[5]; p=S; 则指针对s数组中第三个元素的正确引用形式是( )。

A.p[0][3]

B.p[1][2]

C.p[0][2]

D.p[1][3]


正确答案:C
解析: “p=s;”语句将指针p指向数组s。而数组为二维数组,下标标识由0开始,所以第二个元素为下标为0行的2列,即p[0][2]。

第8题:

若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是( )。

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


正确答案:C

第9题:

若有以下定义和语句: ( ) ints[4][5](* ps)[5]; ps=s; 则对s数组元素的正确引用形式是

A.psq+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


正确答案:C