- 操作目的
- 代码实现
创建一个函数,实现两个数的交换。
代码实现利用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的值在不断变换,注意理清其中的逻辑关系)
//利用函数实现两个数的交换 #includevoid 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; }
输出示例:



