对于这道题,我将采取两种方法进行解决:1、创建临时变量,通过临时变量来交换两个整形变量的值;2、不创建整形变量,用异或操作符“^”(注意,不是数学中的次方运算符)来进行两个值得内容交换。下面展示具体做法。
1、创建临时变量
#include<stdio.h>
#include<windows.h>
int main()
{
int a = 10;
int b = 20;
int tmp;//创建临时变量
tmp = a;//把a存放在tmp中,a为空
a = b;//把b放在空a中
b = tmp;//把b放在空b中,到此,就完成了内容的交换
printf("%d %d", a, b);
system("pause");
return 0;
}
在上面的程序中,“#include<windows.h>”和“returu 0;”前面的"system("pause");"是搭配使用的,这对组合的使用主要是为了防止程序运行完后产生的黑框一闪而过。
2、不创建临时变量,通过抑、异或操作符来完成两个值的内容交换(异或运算符“^”的运算规则是:相同为0,不同为1.例如0^0=0,1^0=1,1^1=0).
#include<stdio.h>#include<windows.h>
int main()
{
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = b ^ a;
printf("%d %d", a, b);
system("pause");
return 0;
}