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

admin2021-04-28  18

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

答案D

解析 int m=1,n=2,*p=&m,*q=&n,*r;即指针变量p指向m,指针变量q指向n,r=p;p=q;q:r;即通过指针变量r,将指针p和指针q的指向交换。因此最后输出1,2,2,1。
转载请注明原文地址:https://jikaoti.com/ti/RSz0FFFM
0

最新回复(0)