如题所述
#include <stdio.h>
int main()
{
int *p1,*p2,*p;
scanf("%d %d",&a,&b);
int a=2,b=5;
p1=&a;
p2=&b;
if(a<b)
{
p=p1; //将p1和p2的指向互换。
p1=p2;
p2=p;
}
printf("%d %d\n",*p2,*p1);
return 0;
}
扩展资料:
两个地方要注意:
1、在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
2、在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
参考资料:
温馨提示:答案为网友推荐,仅供参考