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

方案一:ide

#include<stdio.h>spa

#include<stdlib.h>blog

int main()get

{it

int a=10;io

int b=20;class

int temp;变量

temp = a;二进制

a = b;gc

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;

}

结果:

wKiom1agc0nDuIvGAAAQs_AOlv0840.png

相关文章
相关标签/搜索