若有定义:int x,*pb;
则以下正确的赋值表达式是( )
A *pb=&x;
B pb=x;
C pb=&x;
D *pb=*x;
参考答案
C
执行以下程序后,a的值为
main()
{ int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(-*p1)/(*p2)+7;
printf(“a=%d\n”,a);
printf(“b=%d”,b);
}
A -1
B 1
C 0
D 4
参考答案
C
下面程序中调用scanf
函数给变量a输入数值的方法是错误的,其错误原因是( )
main()
{ int *p,q,a,b;
p=&a;
scanf(“%d”,*p);
……
}
A *p表示的是指针变量p的地址;
B *p表示的是变量a的值,而不是变量a的地址
C *p表示的是指针变量p的值
D *p只能用来说明p是一个指针变量
参考答案
B
若有int
k=2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是()
A k=*ptr1+*ptr2;
B ptr2=k;
C ptr1=ptr2;
D k=*ptr1*(*ptr2);
参考答案
B
若有c语言语句int *point a=4;和point
&a;下面均代表地址的一组选项是( )
A a,point,*&a
B &*a,&a,*point
C *&point,*point,&a
D &a,&*point,point
参考答案