#include "stdio.h"
void swap(int*p1,int*p2)
{
int tmp=*p1;
*p1=*p2;
*p2=tmp;
}
void main()
{
int p1=1;
int p2=2;
int *num1=&p1;
int *num2=&p2;
swap(num1,num2);
printf("p1=%d p2=%d\n",p1,p2);
}

输出结果:p1=2,p2=1

2.不允许创建临时变量,交换两个数的内容

#include "stdio.h"
int main()
{
int num1=1;
int num2=2;
printf("num1=%d\n",num1);
printf("num2=%d\n",num2);
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
printf("num1=%d\n",num1);
printf("num2=%d\n",num2);
return 0;
}

输出结果:p1=2,p2=1