给定两个整型变量的值,交换两个值的内容
方法一:创建临时变量
#include<stdio.h>
int main()
{
int num1 = 2;//变量一
int num2 = 4;//变量二
int tmp = 0; //临时变量
printf("num1=%d num2=%d\n", num1, num2);//原始序列输出
tmp = num1;
num1 = num2;
num2 = tmp;
printf("num1=%d num2=%d\n", num1, num2);//交换后输出序列
return 0;
}
方法二:不创建临时变量(加减)
#include<stdio.h>
int main()
{
int num1 = 2;
int num2 = 4;
printf("num1=%d num2=%d\n", num1, num2);//原始序列输出
num1 = num1 + num2;//num1=6
num2 = num1 - num2;//num2=2
num1 = num1 - num2;//num1=4
printf("num1=%d num2=%d\n", num1, num2);//交换后输出序列
return 0;
}
方法三:不创建临时变量(异或)
nclude<stdio.h>
int main()
{
int num1 = 2;//010
int num2 = 4;//100
printf("num1=%d num2=%d\n", num1, num2);//原始序列输出
num1 = num1 ^ num2;//异或(同0异1)110
num2 = num1 ^ num2;//010
num1 = num1 ^ num2;//100
printf("num1=%d num2=%d\n", num1, num2);//交换后输出序列
return 0;
}