指针习题及答案一.选择题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)265
若有说明: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,p7
下面推断正确的是 C
A)char *a=”china”; 等价于 char *a; *a=”china” ;B)char str[10]={“china”}; 等价于 char str[10]; str[ ]={“china”;}C)char *s=”china”; 等价于 char *s; s=”china” ;D)