问题
单项选择题
有以下程序
#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
解析: m和n的值不变,输出结果为1,2;指针 *p和*q交换了指向的位置,即*p=&n,*q=&m,输出结果分别为2,1。