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

admin2017-12-13  42

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

最新回复(0)