指针习题及答案 一.选择题 1
变量的指针,其含义是指该变量的 B
A)值 B)地址 C)名 D)一个标志 2
已有定义int k=2;int *ptr1,*ptr2;且 ptr1 和 ptr2 均已指向变量k,下面不能正确执行的赋值语句是 B
A)k=*ptr1+*ptr2 B)ptr2=k C)ptr1=ptr2 D)k=*ptr1*(*ptr2) 3
若有说明:int *p,m=5,n;以下程序段正确的是 D
A)p=&n ; B)p = &n ; scanf(“%d” ,&p); scanf(“%d” ,*p); C)scanf(“%d” ,&n); D)p = &n ; *p=n ; *p = m ; 4
已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的输出结果是 D
void print_value(int *x) { printf(“%d\n” ,++*x); } A)23 B)24 C)25 D)26 5
若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是 C
A)p1=&m; p2=&p1 ; B)p1=&m; p2=&n; *p1=*p2 ; C)p1=&m; p2=p1 ; D)p1=&m; *p1=*p2 ; 6
若有语句:int *p,a=4;和 p=&a;下面均代表地址的一组选项是 D
A)a,p,*&a B)&*a,&a,*p C)*&p,*p,&a D)&a,&*p,p 7
下面判断正确的是 C
A)char *a=” china” ; 等价于 char *a; *a=” china” ; B)char str[10]={“china” }; 等价于 char str[10]; str[ ]={“china” ;} C)char *s=” china