问题
单项选择题
有下列程序: #include<stdio.h> 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); } 程序运行后的输出结果是( )。
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
答案
参考答案:B
解析: *p=&m后p指向m,所以p的值为1,同理,q的值为2。r=p;p=q;q=r;是将p和q进行交换。