给定两个整形变量的值,将两个值的内容进行交换。
#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;
}