若有说明:int k=8,*p=&k,*q=p;,则以下非法的赋值语句是( )。
A. k=*q
B. *p=*q
C. *q=p
D. p=q
若有int i=6,*p; p=&i;下列语句中输出结果为6的是( )。
A. printf("%d",&p);
B. printf("%d",p);
C. printf("%d",*i);
D. printf("%d",*p);
若有下列定义,则对a数组元素正确引用的是( )。int a[5],*p=a;
A. *(p+5)
B. *&a[5]
C. p+2
D. *(a+2)
若有int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;则输出结果不为8的语句为( )。
A. printf("%d",*p[7]);
B. printf("%d",p[7]);
C. printf("%d",*(p+7));
D. printf("%d",*(a+7));