若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是()。A、p=aB、*(*(p+i)+j)C、*(p+i*4+j)D、*(*(a+i)+j)

题目

若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0<=i<3,0<=j<4)正确的引用是()。

  • A、p=a
  • B、*(*(p+i)+j)
  • C、*(p+i*4+j)
  • D、*(*(a+i)+j)

相似考题
参考答案和解析
正确答案:C
更多“若有定义“inta[3][4],*p;”,则对数组元素a[i][j](0=i3,0=j4)正确的引用是()。A、p=aB、*(*(p+i)+j)C、*(p+i*4+j)D、*(*(a+i)+j)”相关问题
  • 第1题:

    若有定义:inta[2][3],则对a数组的第i行j列元素地址的正确引用为()。

    A.*(a[i]+j)

    B.(a+i)

    C.*(a+j)

    D.a[i]+j


    正确答案:A

  • 第2题:

    若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]={0},( *p)[3]; p=s;

    A.*(*(p+i)+j)

    B.*(p[i]+j)

    C.(p+i)+j

    D.(*(p+i))[j]


    正确答案:A
    解析:p+i是数组s的第i+1行的首地址,而*(p+i)则是数组第i+1行第1列的元素的地址,*(p+i)+j则是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是数组元素s[i][j]的值。注意:通过建立一个指针数组来引用二维数组元素。

  • 第3题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)

    A.*(&a[0][0]+10*i+j)

    B.*(a+i)+j

    C.*(*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第4题:

    若有定义: “inta[2Ⅶ3];”则对a数组的第i行第j列元素的正确引用为( )

    A.**(a+i)+j)

    B.(a+i)[j]

    C.*(a+i+j)

    D.*(a+i)+j


    正确答案:A
    解析:本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有5种:①a[i][j];②*(a[i]+j);⑧*(*(a+i)+j);④*(a[i] [j];⑤*(&a[0][0]+3*i+j)。

  • 第5题:

    若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为( )。

    A.(q+i)[j]

    B.*q[i][j]

    C.*(*q[i]+j)

    D.*(*(q+i)+j)


    正确答案:D
    解析:*(q+i)指向第i行首地址,*(*(q+i)+j)代表第i行第j个元素。

  • 第6题:

    若有定义:"int a[2][3];"则对a数组的第i行第j列无素的正确引用为( )。

    A.*(*(a+i)+j)

    B.(a+i) [j]

    C.*(a+i+j)

    D.*(a+i)+j


    正确答案:A
    解析:本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有下列5种:①a[i][j]; ②*(a[i]+j); ③*(*(a+i)+j); ④*(a[i])[j]; ⑤*(&a[0][0]+3*i+j)。

  • 第7题:

    若有定义:int a[2][3];则才a数组的第i行第j列(假调i,j已正确说明并赋值)元素值的正确引用为

    A.*(*(a+i)+j)

    B.(a+i)[j]

    C.*(a+i+j)

    D.*(a+i)+j


    正确答案:A
    解析:本题考查了二维数组元素的引用方法。选项A中a引指向了数组a的第i+1行,*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]的元素。

  • 第8题:

    若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i<3,0<=j<4)值的正确引用为( )。

    A)(q i)[j]

    B)*q[il][j]

    C)*(*q[i] j)

    D)*(*(q i) j)


    正确答案:D

  • 第9题:

    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;

    • A、*(*(a+i)+j)
    • B、p[i][j]
    • C、(*(p+i))[j]
    • D、p[i]+j

    正确答案:D

  • 第10题:

    若有以下程序段,则数组b中列下标为偶数的元素之和是() int a[12],b[3][4],i,j; for(i=0;i<12;i++)a[i]=i+1;for(i=0;i<3;i++) for(j=0;j<4;j++)b[i][j]=a[i*4+j]

    • A、42
    • B、15
    • C、36
    • D、24

    正确答案:C

  • 第11题:

    若有以下定义,inta[]={1,2,3,4,5},*p=a,i;且0<=i<5,则对数组元素地址的正确表示是()。

    • A、&(a+i)
    • B、a++
    • C、&p
    • D、&p[i]

    正确答案:D

  • 第12题:

    单选题
    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是() int i,j,(*p)[3]; int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; p=a;
    A

    *(*(a+i)+j)

    B

    p[i][j]

    C

    (*(p+i))[j]

    D

    p[i]+j


    正确答案: D
    解析: 暂无解析

  • 第13题:

    下列程序用来判断数组中特定元素的位置所在,则输出结果为()。includeinclude

    下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include<conio.h> #include<iostream.h> int fun(int*p,int n,int*j) {int i; *j=0; for(i=0;i<n;i++) if(p[*j]<p[i])*j=i; return p[*j];} void main() {int a[10]={1,3,9,0,8,7,6,5,4,2)j;int j; fun(a,10,&j); cout<<j<<','<<a[j];}

    A.2,9

    B.3

    C.9

    D.3,9


    正确答案:A
    解析:由程序中的主函数main入手,调用fun函数。其中第一个实参为数组a的名字,数组名作为实参,传递的是数组的起始地址。所以在fun函数中指针D指向了数组的第一个元素a[0]。另外实参整型j传递的是引用,也就是j的地址。在fun函数中在for循环中,依次将当前元素p[i]与j指针值为标识的p[*j]进行比较,取较大的。最后循环后的结果就是p[*j]存放数组中的最大值,并且指针j为该值的标识位。可以看出数组的最大值是9标识位为2。

  • 第14题:

    若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值.元素值的正确引用为( )。

    A.*(*(a+i.+j.

    B.(a+i.[j]

    C.*(a+i+j.

    D.*(a+i.+j


    正确答案:A
    本题考查了二维数组元素的引用方法。选项A)中a+i指向了数组a的第i+1行。*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

  • 第15题:

    若已定义 inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5; 则对数组元素不正确的引用是( )。

    A.a[p-a]

    B.*(&a[i])

    C.p[i]

    D.*(*(a+i))


    正确答案:D
    D。【解析】数组和指针的关系非常密切,因为数组名称单独使用是表示数组的首地址。故可用的表示可能是a[i],p[i],*(P+i),同样&(a[i])表示地址,因此*(&a[i])等同于a[i]。本题答案为D。

  • 第16题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。 (o<=i<4,0<=j<=10

    A.*(&a[0][0]+10*i+j)

    B.*(a+i)+j

    C.*(*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第17题:

    若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是()int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;

    A.*(*(a+i)+j)

    B.p[i][j]

    C.(*(p+i))[j]

    D.p[i]+j


    参考答案:D

  • 第18题:

    若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )

    int a [ ]={1,2,3,4,5,6,7,8,9,0};

    int*p,I

    p=a;

    A.* (a+I)

    B.a[p-a]

    C.p+I

    D.* (&a[I])


    正确答案:C

  • 第19题:

    若有定义:int a[4][10];,则以下选项中对数组元素a[i][i]引用错误的是______。(0<=i<4,0=i<10)

    A.*(&a[0][0]十10*i+j)

    B.*(a+i)+j

    C.*(a+i)+j)

    D.*(a[i]+j)


    正确答案:B
    解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

  • 第20题:

    若有定义:“int x[10],*p,p=x;”,则在程序中引用数组元素x[i]的四种形式中,除了x[i]、p[i]和*(p+i)以外,还有()


    正确答案:*(x+i)

  • 第21题:

    若有定义:inta[4][6];则能正确表示a数组中任一元素a[i][j](0<=i<4,0<=j<6)地址的表达式是()

    • A、a[0]+6*j+i
    • B、a[0]+4*j+i
    • C、a[0]+4*i+j
    • D、a[0]+6*i+j

    正确答案:D

  • 第22题:

    若有定义:inta[3][4];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的不正确引用为()

    • A、*(*(a+i)+j)
    • B、*(a+i)[j]
    • C、*(a+i+j)
    • D、*(a[i]+j)

    正确答案:C

  • 第23题:

    填空题
    若有定义:“int x[10],*p,p=x;”,则在程序中引用数组元素x[i]的四种形式中,除了x[i]、p[i]和*(p+i)以外,还有()

    正确答案: *(x+i)
    解析: 暂无解析