c語言 - 交換兩個變數(不建立臨時變數)兩種方法

Maggie's secret發表於2020-11-02

交換兩個變數(不建立臨時變數)

  • 方法一
    (無溢位)
#include<stdio.h>

int main()
{

	int a ,b;
	scanf("%d %d", a, b);
	a = a^b;
	b = a^b;
	a = a^b;
	printf("a=%d,b=%d\n", a, b);
	
	return 0;
}
  • 方法二
    (可能溢位)
int main()
{

	int a ,b;
	scanf("%d %d", a, b);
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a=%d,b=%d\n", a, b);
	
	return 0;

}

相關文章