#include<stdio.h>
int main()
{
int *p1,*p2,*p,a,b;
scanf("%d,%d",&a,&b);
p1=&a;p2=&b;
if(a<b)
{
p=p1;p1=p2;p2=p;
}
printf("a=%d,b=%d\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);
return 0;
}
输入a和b两个整数,按先大后小的顺序输出a和b。
5,9
a=5,b=9
max=9,min=5
仔细观察以上的代码,可以发现a和b的地址发生了互换,但其值并未发生改变。最大值与最小值的地址分别传给了p1与p2。所以最后得到显示的结果是这样的。(代码来自于谭浩强《c语言程序设计》)