C语言中如何不通过第三变量交换a、b两个变量值

要求不能使用第三变量来达到交换两个变量值呢?

方法一:

void main()
{ 
	int a,b;
	printf("请输入两个变量的值:"); 
	scanf("%d%d",&a,&b);
	a=a+b; 
	b=a-b; 
	a=a-b; 
	printf("交换后为:a=%d,b=%d\n",a,b);
}

方法二:

void main()
{ 
	 int a,b;
	 printf("请输入两个变量的值:"); 
	 scanf("%d%d",&a,&b);
	 a=a*b; 
	 b=a/b; 
	 a=a/b; 
	 printf("交换后为:a=%d,b=%d\n",a,b);
}

方法三:

void main()
{ 
	  int a,b;
	  printf("请输入两个变量的值:"); 
	  scanf("%d%d",&a,&b);
	  a=a^b; 
	  b=a^b; 
	  a=a^b; 
	  printf("交换后为:a=%d,b=%d\n",a,b);
 }

方法四:

void main()
{ 
	   int a,b;
	   printf("请输入两个变量的值:"); 
	   scanf("%d%d",&a,&b);
	   a = b+a - ( b=a );
	   printf("交换后为:a=%d,b=%d\n",a,b);
}

猜你喜欢

转载自blog.csdn.net/qq_41844047/article/details/86469666