不產生第三個臨時變量的前提交換兩組數據

方法一:(簡單加減法實現運算)

算法

#include <stdio.h>
int main()
{
	int a, b;
	a = 5;
	b = 7;
	printf("a=%d b=%d\n",a, b);
	printf("交換後:\n");
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a=%d b=%d\n",a, b);

}

注意:這個算法只能解決部分問題,可能會溢出;
ide

方法二:(異或)it

#include <stdio.h>
int main()
{
	int a, b;
	a = 5;
	b = 7;
	printf("a=%d b=%d\n",a, b);
	printf("交換後:\n");
	a = a^b;
	b = a^b;
	a = a^b;
	printf("a=%d b=%d\n",a, b);

}
相關文章
相關標籤/搜索