更多“若有以下说明和语句:int c[4] [5] ,( * p) [5];p=e;能够正确引用c数组元素的是( )。A.p+1B.*(p+3) ”相关问题
  • 第1题:

    若有以下说明和语句: int c[4][5],(*p)[5]; p=c; 能够正确引用c数组元素的是( )。

    A.p+l

    B.*(p+3)

    C.*(p+1)+3

    D.*(p[0]+2)


    正确答案:D
    解析:本题中定义了一个二维数组c和一个指针数组p,并初始化让p指向c。显然此时p中的各元素为地址,选项A中p+1,此时其中的1代表的长度是整个二维数组c的长度,故p+l将让p指向c数组后面的元素,不能引用c数组中的成员,故选项A错误;同理选项B和选项C都不正确,选项D中p[0]指的是指针数组中的第一个元素的地址即c的首地址,此时的1的长度代表的是数组C中一行的长度,故p[0]+2代表的是第3行的首地址,而*(p[0]+2)将代表第3行的第一个元素的地址,所以,4个选项中选项D符合题意。

  • 第2题:

    若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是

    A.p+1

    B.*(p+3)

    C.*(p+1)+3

    D.*(p[0]+2)


    *(p[0] + 2)

  • 第3题:

    10、若有以下说明和语句,请选出哪个是对c数组元素的正确引用() int c[4][5], (*p)[5]; p=c;

    A.p+1

    B.*(p+3)

    C.*(p+1)+3

    D.*(*p+2)


    B 本题的考查点是数组元素的引用。cp=c这个语句是将数组c的首行元素地址赋给了指针数组cp。选项A,cp+1是指将数组c的首行地址加l,即为第二行地址;选项B,*(cp+3)是地址,等于数组C的首地址加3的那个内存单元的内容,不是对数组元素的引用;选项C,*(cp+1)+3是地址,等于数组C的首地址加1的那个内存单元中存放的值加3,不是对数组元素的引用。

  • 第4题:

    若有下列说明和语句:inta[4][5],(*p)[5];p=a;则对a数组元素的正确引用是()。

    A.p+1

    B.*(p+3)

    C.*(p+1)+3

    D.*(*p+2)


    正确答案:B

  • 第5题:

    若有以下说明和语句:int c[4][5], (*p)[5]; p = c; 能正确引用c数组元素的是()。

    A.p + 1

    B.*(p + 3)

    C.*(p + 1) + 3

    D.*(p[0] + 2)


    D