单选题设有定义:int a,b[10],*c=NULL,*p;则以下语句错误的是(  )。Ap=a;Bp=b;Cp=c;Dp=b[0];

单选题
设有定义:int a,b[10],*c=NULL,*p;则以下语句错误的是(  )。
A

p=a;

B

p=b;

C

p=c;

D

p=&b[0];


参考解析

解析:
p为指针变量,存放变量的地址。对指针变量赋值,值必须是地址值。a为整型变量不是地址值,不能赋值给p,A项错误,应改为p=&a。数组名b为数组首地址,可以赋值给p,B项正确。c为指针变量,初始化为NULL,与p均为整型指针,可以将其赋值给p,C项正确。&为取地址运算符,&b[0]为数组元素b[0]的地址,可以赋值给p,D项正确。答案选择A选项。

相关考题:

若有定义语句: 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]

设有以下定义和语句,则*(*(p+2)+1)的值为【14】。int a[3][2]={10, 20, 30, 40, 50, 60}, (*p)[2];p=a;

有以下程序 include main() { int n,*p=NULL; *p=n; printf(" 有以下程序 #include <stdio.h> main() { int n,*p=NULL; *p=n; printf("Input n:");scanf("%d",p);printf("output n:");printf("%d\n",p); } 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是A.int n,*p=NULL;B.*p=n;C.scanf("%d",p)D.printf("%d\n",p);

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

若有一些定义和语句 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*p[4],以下选项中与此语句等价的是( )。A.int p[4];B.int**p;C.int*(p[4]);D.int(*p)[4];

下列定义语句中,错误的是A.int px*;B.char*acp[10];C.char(*pac)[10];D.int(*p)();

若有以下定义和语句: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;

若有以下定义和语句includeint a=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;

设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是( )。A.p=x;B.* p=x;C.p=NULL;D.* p=NULL;

设有定义“int a=3,b,*p=a”,则下列语句中使b不为3的语句是______。A.b=*a;B.b=*p;C.b=a;D.b=*a;

若有以下定义和语句 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;

设有以下定义的语句,则*(*(p+2)+1)的值为______。int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;A.10B.30C.60D.40

若有以下定义和语句 int a=4,b=3,*p, *q, *w; p=a; q=b; w=q; q=NULL; 则以下选项中错误的语句是A.*q=0B.w=pC.*p=a;D.*p=*w;

若有以下定义和语句,且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])

若有一些定义和语句include inta=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;

设有定义int x=5;,则执行以下语句后,x的值为______。 x+=x+5;A.10B.15C.20D.25

设有定义语句“int x=10, *p=&x”,则表达式的值为10的有( )。 A、pB、*pC、*&xD、*p=xE、x=*p

有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。 A.int p[4];B.int**P;SXB 有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。A.int p[4];B.int**P;C.int*(p[4]);D.int(*p)[4];

设有定义语句“int a=10,*p=a;”,则表达式“a十*p”的值是( )A.10B.20C.100D.语法出错

设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是( )A.*p+3B.*p+4C.*(p+4)D.*(s+3)

设有定义:int a,*p=a,* *pp=p;,则与a=100;等价的语句为()A.**p=100;B.**pp=100;C.a,* *pp=p;,则与a=100;等价的语句为( )A.**p=100;B.**pp=100;C.*p=100;D.*pp=10;

若已有以下定义和语句: #include       int x=4,y=3,*p,*q,*s;  p=x; q=y; s=q; q=NULL;  则下面分别给出的四条语句中,错误的是()A、*q=0;B、s=p;C、*p=x;D、*p=*s;

设有C语句int a[3][4];, 则每次移动过a数组一行元素的指针变量定义形式是()A、int *p;B、int **p;C、int(*p)[4];D、int *p[4];

有语句:inta[10],;则()是对指针变量p的正确定义和初始化。A、intp=*a;B、int*p=a;C、intp=a;D、int*p=a;

单选题设有定义:int x=0,*p;紧接着的赋值语句正确的是(  )。A*p=x;B*p=NULL;Cp=x;Dp=NULL;

单选题若已有以下定义和语句: #include       int x=4,y=3,*p,*q,*s;  p=x; q=y; s=q; q=NULL;  则下面分别给出的四条语句中,错误的是()A*q=0;Bs=p;C*p=x;D*p=*s;