单选题若有定义语句:int a[4][10],*P,*q[4];且0≤i4,则错误的赋值是(  )。Ap=aBq[i]=a[i]Cp=a[i]Dp=a[2][1]

单选题
若有定义语句:int a[4][10],*P,*q[4];且0≤i<4,则错误的赋值是(  )。
A

p=a

B

q[i]=a[i]

C

p=a[i]

D

p=&a[2][1]


参考解析

解析:
二维数组名是指向指针的指针,所以a和q都为指向指针的指针,而p为指向int类型的指针,p和a不同类型,故A选项中p=a赋值语句错误。其余选项可以正确赋值,其中D项是用取地址符&返回整数的地址,然后赋值给p。所以答案选择A选项。

相关考题:

以下程序段的定义语句中, x[1] 的初值是 【 9 】 ,程序运行后输出的内容是 【 10 】 。#include stdio.hmain(){ int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;for(i=0;i4;i++){ p[i]=x[2*i+1];printf("%d",p[i][0]);}printf("\n");}

若有定义语句: int a[4][10],*p,*q[4]; 且 0 ≤ i4 ,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=a[2][1]

若有以下程序#include stdio.hint a[]={2,4,6,8};main(){ int i;int *p=a;for(i=0;i4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序的输出结果是A.6B.8C.4D.2

下列程序的输出结果是( )。 void f(int*x,int*y) {int t; t=*x,*x=*y;*y=t; } main() {int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=a[7]; while(p<q) {f(p,q);p++;q--;} for(i=0;i<8;i+)printf("%d,",a[i]); }A.8,2,3,4,5,6,7,1B.5,6,7,8,1,2,3,4C.1,2,3,4,5,6,7,8D.8,7,6,5,4,3,2,1

若有:int i=1000;int *p=i;void*q;q=p;其中,q=p的含义是______。

设有定义int n=0,*p=n,**q=p;,则下列选项中正确的赋值语句是A.p=1;B.*q=2;C.q=p;D.*p=5;

若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i3;i)p[i]=a[i*4];pp=p;则对数组元素的错误引用是A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)

若有定义语句:"int a[4][10],*P,*q[4];"且0≤i 若有定义语句:"int a[4][10],*P,*q[4];"且0≤iA.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]

若有一些定义和语句 include int a=4,b=3,*p,*q,*w; p=a; q=b; w=q; q 若有一些定义和语句 #include <stdio.h> int a=4,b=3,*p,*q,*w; p=a; q=b; w=q; q=NULL; 则以下选项中错误的语句是A.*q=0;B.w=p;C.*p=va;D.*p=*w;

若有程序片段: int a[12]={0},* p[3],* *pp,i for (i=0;i<3;i++) p[i]=a[i*4]; pp=p; 则对数组元素的错误引用是 ( )A.pp[0][1]B.a[10]C.p[3][1]D.*(*(p+2)+2)

若有定义语句:int a[4][10],* P,* q[4];且0=i4,则错误的赋值是( )。A.P=aB.q[i]=a[i]C.p=a[i]D.p=a[2][1]

若有说明int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是 ( )A.i=*p;B.*p=*&jC.i=&jD.i=* *p;

若有说明int i,j=2,*p=i;,则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*j;C.i=i;,则能完成i=j赋值功能的语句是______。A.i=*p;B.*p=*j;C.i=j;D.i=**p;

若有定义语句:int u[4][10],*P,*q[4];且0≤i4,则错误的赋值是A.p=aB.q[i]=a[i]C.p=a[i]D.p=&a[2][1]

若有以下定义和语句:includeinta=4,b=3,*p,*q,*w;p=a; q=b; w=q; q=NULL;则 若有以下定义和语句: #include<stdio.h> int a=4,b=3,*p,*q,*w; p=a; q=b; w=q; q=NULL; 则以下选项中错误的语句是( )。A.*q=0;B.w=p;C.*p=a;D.*p=*w;

有如下程序void f(int *x,int *y){ int t; t=*x;*x=*y;*y=t;}main(){ int a[6]={1,2,4,6,8,10},i,*p,*q; p=a;q=a[5]; while(pq) { f(p,q); p++; q--; } for(i=0;i6;i++) printf("%d,",a[i]);}该程序的输出结果是A.1,2,4,6,8,10 B.10,8,4,6,2,1C.10,8,6,4,2,1 D.10,2,4,6,8,1

若有以下程序段,其中0=i4,0=j3,则不能正确访问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

若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )int a [ ]={1,2,3,4,5,6,7,8,9,0};int*p,Ip=a;A.* (a+I)B.a[p-a]C.p+ID.* (&a[I])

若有定义语句:"int a[4][10],*P,*q[4];"且0≤i4,则错误的赋值是( )。A.D=aB.q[i]=a[i]C.p=a[l]D.P=a[2][1]

若有以下C语言语句,且0≤i<10,则对数组元素的错误引用是(29)。 int a[i]={1,2,3,4,5,6,?,8,9,0),*p,i; p=a;A.*(a+i)B.p+IC.a[p-a)D.*(a[i])

若有以下语句,则对数组a元素的引用不正确的是(0≤i≤9)( )。 int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A.a[p-a]B.*(a[i])C.p[i]D.*(*(a+i))

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

若有以下程序段,其中0=i4,0=j3,则不能正确访问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

假设有以下定义:int a[5]={1,2,3,4,5},i=3,*p=a , *q=a; 则不能正确执行的语句是()A、i=*p +*q;B、 a=i;C、*p = *(a+i);D、i = *p**(q+2);

若由如下说明,且0=I4,则()是错误的赋值。 inta[4][10],*p,*q[4];A、p=aB、q[i]=a[i]C、p=a[i]D、q[i]=a[2][0]

单选题若由如下说明,且0=I4,则()是错误的赋值。 inta[4][10],*p,*q[4];Ap=aBq[i]=a[i]Cp=a[i]Dq[i]=a[2][0]

单选题若有以下程序段,其中0=i4,0=j3,则不能正确访问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)Bp[i][j]C(*(p+i))[j]Dp[i]+j

单选题若有定义语句:int a[4][10],*P,*q[4];且0≤i4,则错误的赋值是(  )。Ap=aBq[i]=a[i]Cp=a[i]Dp=a[2][1]