输出后,pa 与 pb 指向的值为什么没有交换?
#include<stdio.h>void main()
{
void swap(int *pa,int *pb);
int a,b;
int *pa,*pb;
scanf("%d%d",&a,&b);
pa=&a;
pb=&b;
swap(pa,pb);
printf("%d %d\n",*pa,*pb);
printf("%d %d\n",a,b);
}
void swap(int *p1,int *p2)
{
int *p;
if(*p1<*p2)
{
p=p1;
p1=p2;
p2=p;
}
}
输出结果
结果不应该是
12 45
45 12
12 45
吗?