有以下程序 #include 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); } 程序运行后的输出结果是( )。

admin2015-07-28  19

问题 有以下程序
#include
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,2,1
B、1,2,1,2
C、2,1,2,1
D、2,1,1,2

答案A

解析 main()函数刚开始将指针p指向变量m的地址,将指针q指向n的地址,所以*p与m等价,*q与n等价。然后经由指针r将指针p、q的指向进行了交换,所以此时*p与n等价而*q与m等价,所以输出结果为1,2,2,1,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/CdJp777K
0

最新回复(0)