下面程序中调用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是一个指针变量
查看答案
若有int k=2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是( )
A. k=*ptr1+*ptr2;
B. ptr2=k;
C. ptr1=ptr2;
D. k=*ptr1*(*ptr2);
变量的指针,其含义是指该变量的( )
A. 值
B. 地址
C. 名
D. 一个地址
若有说明:int *p,m=5,n;下面正确的程序段是( )
A. p=&n;scanf(“%d”,&p);
B. p=&n;scanf(“%d”,*p);
C. scanf(“%d”,&n);*p=n;
D. p=&n;*p=m;
若有语句:int a=25;print_value(&A);下面函数的正确输出结果是( )void print_value(int *x){ printf(“%d\n”,++*x); }
A. 23
B. 24
C. 25
D. 26