有以下程序:
#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);
}
程序运行后的输出结果是( )。
本题首先让指针变量 p 和 q 分别指向 m 和 n 的地址空间, 然后将 p 赋值给 r, 让 r 指向 m, q 赋值给 p, 让 p 指向 n, 再将 r 赋值给 q, 让 q 指向 m, 因此最后 p 指向 n, q 指向 m。 答案选择 B 选项。