0
点赞
收藏
分享

微信扫一扫

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

解法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 条评论