int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("交换前:a=%d,b=%d\n", a, b);
a = a ^ b;
b = a ^ b; //此式子即是b=( a^b )^b=a^(b^b)=a^0=a,,此时b=a
a = a ^ b; //此式子即是a=a^b^(b)=a^b^a= a^a ^b=0^b=b
//完成交换,,且不会溢出
printf("交换后:a=%d,b=%d\n", a, b);
return 0;
}
合理运用位运算符,使数字进行交换,且不会溢出。