有以下程序:  #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-04-01  29

问题 有以下程序:
 #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/B5d0FFFM
0

最新回复(0)