利用异或 ^ 来交换两个数的值,而且不引入其他变量。

a=a^b; b=a^b; a=a^b;

实例

#include <stdio.h>

int main()
{
    int a = 12, b =34;
    printf("交换前 a=%d,b=%d",a,b);
    printf("\n");
    a=a^b;            
    b=a^b;             
    a=a^b;            
    printf("交换后 a=%d,b=%d",a,b);  
return 0;
}

运行结果:

 交换前 a = 12,b = 34
 交换后 a = 34,b = 12
如果觉得我的文章对你有用,请随意赞赏