首页 > 试题广场 >

已知C语言中的按位异或运算(XOR)用符号“^”表示。对于任

[问答题]
已知C语言中的按位异或运算(XOR)用符号“^”表示。对于任意一个位序列a,a^a=0,C语言程序可以利用这个特性来实现两个数值交换的功能。以下是一个实现该功能的C语言函数:
1    void xor_swap(int *x,int *y)
2        (
3                *y=*x ^ *y;    /* 第一步 */
4                *x=*x ^ *y;    /* 第二步 */
5                *y=*x ^ *y;    /* 第三步 */
6    )
假定执行该函数时*x和*y的初始值分别为a和b,即*x=a且*y=b,请给出每一步执行结束或,x和y各自指向的内存单元中的内容分别是什么?

这道题你会答吗?花几分钟告诉大家答案吧!