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

题目

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

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+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题:

【单选题】有定义int s[4][5],(*ps)[5];ps=s;则对数组s中元素引用正确的是 。

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


C

第3题:

若有如下定义: char s[20],*ps=s; 则以下赋值语句正确的是()

A.s=ps+s;

B.ps=ps+20;

C.s[5]=ps[9];

D.ps=s[0];


ps=ps+20;

第4题:

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

A.ps+1

B.*(ps+3)

C.*(ps+1)+3

D.ps[0][2]


C

第5题:

若有定义int s[4][5],(*ps)[5]=s;则对s数组元素的正确引用是()。

A.ps+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


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

第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

第7题:

若有以下定义和语句: 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为所选。

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

第9题:

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

A.psq+1

B.*(ps+3)

C.ps[0][2]

D.*(ps+1)+3


正确答案:C