题目描述:给定两个整形变量的值,将两个值的内容进行交换。
1) 中间变量法
代码如下:
// #include: 头文件包含命令
// stdio.h: standard input & output 标准输入输出头文件,下面的printf输出函数需要用到
#include <stdio.h>
int main()
{
int a, b, c; // 定义a,b,c三个整形变量
printf("请输入两个整数:"); // 提示输入
scanf("%d %d", &a, &b); // 输入a,b的值,中间用空格隔开
c = a; // a的值赋给c
a = b; // b的值赋给a
b = c; // c的值再赋给b
printf("%d %d\n", a, b); // 打印交换后a,b的值
return 0; // 函数返回值为0
}
运行结果:
2)加减法
代码如下:
// #include: 头文件包含命令
// stdio.h: standard input & output 标准输入输出头文件,下面的printf输出函数需要用到
#include <stdio.h>
int main()
{
int a, b; // 定义a,b两个整形变量
printf("请输入两个整数:"); // 提示输入
scanf("%d %d", &a, &b); // 输入a,b的值,中间用空格隔开
a = a + b; // 将a+b的值赋给a
b = a - b; // 将a-b的值赋给b(就是原来a的值)
a = a - b; // 将a-b的值赋给b(就是原来b的值
printf("%d %d\n", a, b); // 打印交换后a,b的值
return 0; // 函数返回值为0
}
运行结果:
3)异或法
代码如下:
// #include: 头文件包含命令
// stdio.h: standard input & output 标准输入输出头文件,下面的printf输出函数需要用到
#include <stdio.h>
int main()
{
int a, b; // 定义a,b两个整形变量
printf("请输入两个整数:"); // 提示输入
scanf("%d %d", &a, &b); // 输入a,b的值,中间用空格隔开
a = a ^ b; // 将a^b的值赋给a
b = b ^ a; // 将b^a的值赋给b (原来a的值)
a = a ^ b; // 将a^b的值赋给a (原来b的值)
printf("%d %d\n", a, b); // 打印交换后a,b的值
return 0; // 函数返回值为0
}
运行结果: