交換兩個變量的四種方案(面試題)

方案一: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

相關文章
相關標籤/搜索