更多“若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5,6}, *ptr;ptr=x; ”相关问题
  • 第1题:

    若有以下语句,且0≤K<6,则(36)是对数组元素地址的正确表示。 static int x[]={1,3,5,7,9,11},*ptr,k; ptr=x;

    A.x++;

    B.&ptr

    C.&(x+1)

    D.&ptr[k]


    正确答案:D
    解析:本题考查数组和指针的具体应用。数组是高级程序语言中常用的一种数据结构。数组有上界和下界,数组的元素在上下界内是连续的。数组名一般对应数组在存储器中的起始地址。在题目给出的代码中,我们可以看到,声明了一个名为x的数组和一个指针变量ptr,并把数组的首地址赋给了指针变量ptr。要取数组中的第k个元素可以用x[k]、*(x+k)或*(pb+k);要取数组中第k个元素的地址则用&ptr[k]。

  • 第2题:

    设有以下定义: int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int (*ptr)[3] = a; int *p = a[0]; 则以下能够正确表示数组元素a[1][2]的表达式是

    A.*(*(ptr + 1) + 2)

    B.*((*ptr + 1) + 2)

    C.*(*(p + 5))

    D.(*ptr + 1) + 2


    D

  • 第3题:

    4、设有以下定义: int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int (*ptr)[3] = a; int *p = a[0]; 则以下能够正确表示数组元素a[1][2]的表达式是

    A.*(*(ptr + 1) + 2)

    B.*((*ptr + 1) + 2)

    C.*(*(p + 5))

    D.(*ptr + 1) + 2


    *(*(a+1)+2)

  • 第4题:

    若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。 A.*pSX

    若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。

    A.*p

    B.x[5]

    C.*(p+1)

    D.*x


    正确答案:B
    B。【解析】选项B中x[5]数组下标越界,数组的下标是从0开始的。

  • 第5题:

    设有以下定义: int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int (*ptr)[3] = a; int *p = a[0]; 则以下能够正确表示数组元素a[1][2]的表达式是

    A.*((*ptr + 1) + 2)

    B.*(*(p + 5))

    C.*(*(ptr + 1) + 2)

    D.(*ptr + 1) + 2


    错误