给定两个整形变量的值,将两个值的内容进行交换。
交换整型变量的值,最简单的就是创建临时变量,作为桥梁进行交换。
#include <stdio.h>
int main()
{
//创建两个整数,并打印当前数值
int a = 10;
int b = 20;
printf("交换之前:%d %d\n", a, b);
//创建临时变量,当做a和b交换的桥梁。交换之后打印
int x = a;
a = b;
b = x;
printf("交换以后:%d %d\n", a, b);
system("pause");
return 0;
}
实验结果:
还有一种方法,不用临时变量的话进行交换,那就是 使用异或运算符操作。
#include<stdio.h>
int main()
{
//创建两个整型变量,打印
int a = 10; //10=0 1010
int b = 20; //20=1 0100
printf("交换之前:%d %d\n", a, b);
//进行异或操作,并打印结果,
a = a ^ b; //0 1010^1 0100=1 1110
b = a ^ b; //1 1110^1 0100=0 1010=10
a = b ^ a; //0 1010^1 1110=1 0101=20
//由此实现不创建临时变量就可以交换两个整型变量的值
printf("交换之后:%d %d\n", a, b);
system("pause");
return 0;
}
实验结果: