这是某公司的一道面试。
我们平时交换两变量值用的都是定义中间变量来保存某一个值,实现交换。
代码如下:
int temp = a;
a = b;
b = temp;
该题目不允许使用中间变量,此题可以运用位操作符来实现。如下:
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入:a,b\n");
scanf("%d %d", &a, &b);
a = a ^ b;
b = b ^ a;
a = a ^ b;
printf("a=%d,b=%d", a, b);
return 0;
}