给定两个整形变量的值,将两个值的内容进行交换。

给定两个整形变量的值,将两个值的内容进行交换。

#include  <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int tmp = 0;
	 
	tmp = a;
	a = b;
	b = tmp;


	printf("%d %d", a, b);
	system("pause");
	return 0;
}


若要求不允许创建临时变量,交换两个数的内容

#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;


	a = a + b;//将两个数的和求出来
	b = a - b;//用两数之和减去b本来等于a,把它赋值给b
	a = a - b;//用两数之和减去a本来等于b,把它赋值给a。。。。达到了交换值的目的

	printf("%d %d ", a, b);
	system("pause");
	return 0;
}


*****************************************************************************************************************分割线

经过这两天的学习,又掌握了一个新方法

int main()
{
	int num1 = 10;
        int num2 = 20;

       num1 = num1^num2;
       num2 = num1^num2;
       num1 = num1^num2;
       printf("%d %d ", a, b);
	system("pause");
	return 0;

}


若要交换任意两个整数,代码如下:

#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
num1 = num1^num2;
num2 = num1^num2;
num1 = num1^num2;
printf("%d %d", num1, num2);
system("pause");
return 0;
}




猜你喜欢

转载自blog.csdn.net/zhang_ting0020/article/details/79975442