问题
单项选择题
有以下程序 main() { int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=p; p=q; q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b) ; } 程序运行后输出结果是
A.8,7,8,7
B.7,8,7,8
C.8,7,7,8
D.7,8;8,7
答案
参考答案:C
解析:程序中定义了两个变量a和b,并分别赋初值为7和8,定义了三个指针变量p、q、r,并让指针p指向变量a,让q指向变量b,然后通过一个中间指针变量f,使指针变量p和q互换,互换后p指向q所指的内容即b,q指向开始p所指向的内容即 a,因此最后输出的*p,*q的值为8,7,a,b的值没有改变仍为7,8。