指针交换问题
#include "stdio.h"#include "conio.h"
#include "malloc.h"
swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
main()
{
int *p1,*p2,a,b;
scanf("%d,%d",&a,&b);
p1=&a;
p2=&b;
if(a<b)
swap(p1,p2);
printf("%d,%d",a,b);
getch();
}
运行:
5,9回车
9,5
为什么a,b的值也会互换?