若有说明:int *point=NULL,a=4; point=&a;,下面均代表地址的是()。
A. a,point,*&a
B. &*a,&a,*point
C. *&point,*point,&a
D. &a,&*point,point
查看答案
若有说明:int *p=NULL,m=5,n;,以下程序段正确的的是()。
A. p=&n;scanf("%d",&p);
B. p=&n;scanf("%d",*p);
C. scanf("%d",&n);*p=n;
D. p=&n;*p=m;
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。int main(){int *p=NULL,*q=NULL,a,b;p=&a;printf(“input a:”);scanf(“%d”,*p);……return 0;}
A. *p表示的是指针变量p的地址
B. *p表示的是变量a的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量
若有变量定义和函数调用语句:int a=25; print_value(&a);,下面函数的正确输出结果是()。void print_value(int *x){printf(“%d\n”,++*x);}
A. 23
B. 24
C. 25
D. 26
若有以下程序:int main(){char a[20]="I love China";char *p=a;printf("%c%s\n",*(a+2),p+1);return 0;}程序运行后的输出结果是()。
A. I l
B. l o
C. o love
D. l love China