您的位置:首页 > 职场人生

交换两个变量的四种方案(面试题)

2016-05-28 16:09 106 查看
方案一:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
int temp;
temp = a;
a = b;
b = temp;
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
方案二:(只适合正数)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
方案三:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
a = a * b;
b = a / b;
a = a / b;
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
方案四:(正负数皆可)(最优)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=10;
int b=20;
a = a ^ b;
b = a ^ b;
a = a ^ b; //异或时,二进制数按位异或
printf("a=%d\nb=%d\n", a, b);
system("pause");
return 0;
}
结果:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7A/00/wKiom1agc0nDuIvGAAAQs_AOlv0840.png" title="交换变量.png" alt="wKiom1agc0nDuIvGAAAQs_AOlv0840.png" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: