#include<stdio.h>int
main()
int x=7,y=8,*p,*q,*r;
p=&x; q =&y;
r = p; p = q; q= r;
printf("%d%d%d%d\n",*p,*q, x, y);
return 0;
#include<stdio.h>int
main()
int x=7,y=8,*p,*q,*r;
p=&x; q =&y;
r = p; p = q; q= r;
printf("%d%d%d%d\n",*p,*q, x, y);
return 0;
这个的话,我这么说,7和8的地址相当于两个篮子,然后x是在7这个篮子,y是在8这个篮子,然后现在又拿了个p放进7这个篮子,q放进8这个篮子,然后你又把q和p拿出来交换了位置,所以现在7这个篮子里面有x和q,8这个篮子有y和p,所以你分别打印他们的篮子数,那么x和q就是7,y和p就是8,不知道这么说会不会好理解一些,希望对你有帮助