有以下程序:  #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);  }  程序的

admin2022-10-24  21

问题 有以下程序:
 #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。故本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/iWkp777K
0

相关试题推荐
最新回复(0)