读书人

利用异或运算进行两个变量内容的交换

发布时间: 2012-06-15 19:37:05 作者: rapoo

利用异或运算进行两个变量内容的交换,程序崩溃,求解~
交换程序为:

void inplace_swap(int *x,int *y)
{
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
}

void mian()
{
int *i=2,*j=3;
inplace_swap(i,j);
return ;
}

[解决办法]

探讨

引用:

引用:

int i=2,j=3;
inplace_swap(&i,&j);

解释一下为什么吧,这有什么区别么
估计int *p = 3;
这里是给p分的常量区的空间。

读书人网 >C语言

热点推荐