以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是________.int main(){int *p,a;p=&a;scanf(“%d”,*p);return 0;}
A. *p表示的是指针变量p的地址
B. *p表示的是变量a的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量
查看答案
在VC++6.0编译系统上,若有定义int a[]={10,20,30}, *p=&a;,当执行p++;语句后,下列说法错误的是________________.
A. p向高地址移了一个字节
B. p向高地址移了一个存储单元
C. p向高地址移了四个字节
D. p与a+1等价
有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},int *p=&a[3],b;b=p[5];b的值是______________
A. 5
B. 6
C. 8
D. 9
若有以下定义,int a[10],*p=a;则对数组元素的正确引用是_________。
A. *&a[10]
B. a+2
C. *(p+10)
D. *(a+2)
设有如下定义:int arr[5]={6,7,8,9,10};int *ptr;ptr=arr;*(ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));则程序段的输出结果为________________
A. 8,10
B. 6,8
C. 7,9
D. 6,10