交换两个变量的值,不引入第三个变量(C语言)

第一种方法:数学运算,这种方法有溢出的风险

#include
#include

int main()
{
	int a = 1;
	int b = 2;
	printf("交换前:a=%d,b=%d\n", a, b);
	a = a + b;
	b = a - b;
	a = a - b;
	printf("交换后:a=%d,b=%d\n", a, b);
	system("pause");
	return 0;
}

第二种方法:按位异或运算

#include
#include

int main()
{
	int a = 1;
	int b = 2;
	printf("交换前:a=%d,b=%d\n", a, b);
	a = a^b;
	b = a^b;
	a = a^b;
	printf("交换后:a=%d,b=%d\n", a, b);
	system("pause");
	return 0;
}

 

你可能感兴趣的:(C/C++)