给定两个整形变量的值,将两个值得能容进行交换:
方法一:首先创建两个整形变量a、b并赋初值,然后创建一个新的整形变量c。接
下来先将a的值赋予c,然后将b的值赋予a,最后将c中存储的a的值赋予b就完成了a、b两个整形变量值的互换。
#include <stdio.h>
#include <stdlib.h>
int main() {
int a = 10;
int b = 20;
int c;
c = a;
a = b;
b = c;
printf("a = %d,b = %d\n",a,b);
system("pause");
return 0;
}
方法二:
利用逻辑运算按位异或来进行两个值的交换。这中方法不需要创建新的变量。
#include <stdio.h>
#include <stdlib.h>
int main() {
int a = 15;
int b = 19;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d b = %d\n",a,b);
system("pause");
return 0;
}
按位异或:
例:00101101^01001111 = 01100010