不适用第三方变量,交换两个数

异或实现:

void foo(int *a,int *b){
*a=*a^*b;
*b=*a^*b;
*a=*a^*b;
}
void main(){
int a=1,b=2;
foo(&a,&b);
printf("%d.%d.%d",a,b);


}

或者下例:

void foo(int *a,int *b){
*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
}
void main(){
int a=1,b=2,c=3;
foo(&a,&b);
foo(&b,&c);
foo(&c,&a);
printf("%d.%d.%d",a,b,c);
}

栋栋
原文地址:https://www.cnblogs.com/zhangdongdong/p/3337712.html