以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。int main(){int *p=NULL,*q=NULL,a,b;p=&a;printf(“input a:”);scanf(“%d”,*p);……return 0;}
A. *p表示的是指针变量p的地址
B. *p表示的是变量a的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量
查看答案
若有变量定义和函数调用语句:int a=25; print_value(&a);,下面函数的正确输出结果是()。void print_value(int *x){printf(“%d\n”,++*x);}
A. 23
B. 24
C. 25
D. 26
若有以下程序:int main(){char a[20]="I love China";char *p=a;printf("%c%s\n",*(a+2),p+1);return 0;}程序运行后的输出结果是()。
A. I l
B. l o
C. o love
D. l love China
若有以下程序:int main(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);return 0;}程序运行后的输出结果是()。
A. 1,2,1,2
B. 1,2,2,1
C. 2,1,2,1
D. 2,1,1,2
若有以下程序:int main(){int a=1,b=3,c=5;int *p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);return 0;}程序运行后的输出结果是()。
A. 1
B. 2
C. 3
D. 4