目录
1、概念理解
2、代码实现
(1)简单的实现
(2)进阶的实现(不允许创建临时变量)
1、概念理解
定义变量a和b,给其赋值,再将b的值赋到a中,a的值赋到b中。
2、代码实现
(1)简单的实现
定义一个中间变量t,将a传到t中,再将b传到a中,最后将t传到b中。
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int t = 0;
scanf("%d%d", &a, &b);//输入a,b的值
t = a;
a = b;
b = t;
printf("a=%d b=%d\n", a, b);//打印a,b的值
return 0;
}
(2)进阶的实现(不允许创建临时变量)
利用C语言中的的操作符“^”(按位异或)来实现,先将啊a^b赋给a,此时a=a^b;再将a^b赋给b,此时b=a(后面的a的值)^b=a^b^b=a(初始的a的值);最后将a^b赋给a,得a=a^b=b。(注意a,b的值在不断变换,注意理清其中的逻辑关系)
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d%d", &a, &b);//输入a,b的值
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d b=%d\n", a, b);//打印a,b的值
return 0;
}
输出示例: