交换两个变量的值(多解)

阅读 86

2022-03-23

解法1(引第三变量)

#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
int tmp = 0;
printf("before:a=%d b=%d\n",a,b);
tmp = a;
a = b;
b = tmp;
printf("after:a=%d b=%d\n",a,b);
return 0;
}  //效率高

解法2(加减法)

#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("before:a=%d b=%d\n",a,b);
a = a+b;
b = a-b;
a = a-b;
printf("after:a=%d b=%d\n",a,b);
return 0;
}  //此代码可能会溢出,少用

解法3(异或法)

#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
printf("before:a=%d b=%d\n",a,b);
a = a^b;
b = a^b;
a = a^b;
printf("after:a=%d b=%d\n",a,b);
return 0;
}

精彩评论(0)

0 0 举报