操作目的
创建一个函数,实现两个数的交换。
代码实现
利用C语言中的的操作符“ ^ ”(按位异或)来实现,先将啊a ^ b赋给a,此时a=a ^ b;再将a ^ b赋给b,此时b=a(后面的a的值) ^ b=a ^ b ^ b=a(初始的a的值);最后将a ^ b赋给a,得a=a ^ b=b。(注意a,b的值在不断变换,注意理清其中的逻辑关系)
//利用函数实现两个数的交换
#include<stdio.h>
void change(int* a, int* b)
{
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
int main()
{
int i = 0;
int j = 0;
scanf("%d %d", &i, &j);
change(&i, &j);
printf("i=%d,j=%d", i, j);
return 0;
}
输出示例: