a^=b^=a^=b;
^是位异或
用加法和减法,有可能溢出,所以不采用。
//很简单 用加法;
int a=10,int b=15;
a= a+b;
b =a-b;
a =a-b;
#include
int main(int argc, char *argv[])
{
int a,b;
while(scanf("%d%d",&a,&b))
{
printf("交换前,a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("交换后,a=%d,b=%d\n",a,b);
}
return 0;
}
用指针