方法一:借助第三个变量实现两 数交换:
test1()
{
int a = 1;
int b = 2;
int c = a;
a = b;
b = c;
printf(" a = %d b = %d\n", a, b);
}
方法二:两数进行加减运算实现量阿叔交换:
test2()
{
int a = 1;
int b = 2;
int c = a + b;
a = c - a;
b = c - b;
printf("a = %d b = %d\n", a, b);
}
方法三:进行异或运算实现两数交换:
test3()
{
int a = 1;
int b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d b = %d\n", a, b);
}
方法四:进行移位操作实现两数交换:
test4()
{
int a = 1;
int b = 2;
a = a << 8;
a = a + b;
b = a >> 8;
a = a & 0xff;
printf("a = %d b = %d\n", a, b);
}
完整的代码:
#include<stdio.h>
test1()
{
int a = 1;
int b = 2;
int c = a;
a = b;
b = c;
printf("a = %d b = %d\n", a, b);
}
test2()
{
int a = 1;
int b = 2;
int c = a + b;
a = c - a;
b = c - b;
printf("a = %d b = %d\n", a, b);
}
test3()
{
int a = 1;
int b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d b = %d\n", a, b);
}
test4()
{
int a = 1;
int b = 2;
a = a << 8;
a = a + b;
b = a >> 8;
a = a & 0xff;
printf("a = %d b = %d\n", a, b);
}
int main()
{
test1();
test2();
test3();
test4();
system("pause");
return 0;
}