C语言不运用其他变量交换两个整型的值

C语言不使用其他变量交换两个整型的值

 

#include <stdio.h>

void main(){
	int a = 3;
	int b = 4;

	a = a ^ b;//使用异或交换
	b = b ^ a;
	a = a ^ b;

	printf("%d, %d\n", a, b);

	a = a - b;//使用加减交换
	b = a + b;
	a = b - a;

	printf("%d, %d\n", a, b);

	a ^= b ^= a ^= b;

	printf("%d, %d\n", a, b);
}
 




C语言不运用其他变量交换两个整型的值