若有程序段“int*p,a=5;p=&a;”,则下列选项中均代表地址的是()。
A. a,p,*&a
B. &*a,&a,*p
C. *&p,*p,&a
D. &a,&*p,p
查看答案
若有定义“int*p,a;”且“p=&a”,则语句“scanf("%d",*p)”一定是错误的,其错误原因是()。
A. *p表示的是指针变量p的地址
B. *p表示的是目标变量a的值,而不是目标变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量
若有以下定义“inta,b,*p;floatc,*q;”,则赋值正确的是()。
A. p=&c
B. q=p
C. p=NULL
D. q=newint
若有定义“inta[10]={1,2,3,4,5,6,7,8,9,10},*p;”,则下列语句正确的是()
A. for(p=a;a
B. for(p=a;p
C. for(p=a,a=a+10;pfor(p=a;p
若有定义“chara[]="Iamaboy",*b="Iamaboy";”,则下列叙述错误的是()
A. a+3表示的是字符m的地址
B. b指向其他字符串时,字符串的长度不受限制
C. b中存放的地址值可以改变
D. b中存放的地址就是数组a的首地址