编程从键盘输入两个整数分别给变量a和b,分别写出不借助于其他变量和借助于其他变量的条件下,将变量a和b的值实现交换
时间: 2024-10-19 13:08:56 浏览: 31
Java两个变量的互换(不借助第3个变量)具体实现方法
**不借助于其他变量的情况**(即直接操作原值):
```c
#include <stdio.h>
int main() {
int a, b;
printf("请输入第一个整数a: ");
scanf("%d", &a);
printf("请输入第二个整数b: ");
scanf("%d", &b);
// 直接在内存位置上交换数值
a = a + b; // a 现在是 a+b
b = a - b; // b 现在是原始的 a
a = a - b; // a 现在是原始的 b
printf("交换后的值: a=%d, b=%d\n", a, b);
return 0;
}
```
在这种情况下,我们利用了加法和减法的性质实现了交换。
**借助于其他变量的情况**:
```c
#include <stdio.h>
int main() {
int a, b, temp;
printf("请输入第一个整数a: ");
scanf("%d", &a);
printf("请输入第二个整数b: ");
scanf("%d", &b);
// 借助临时变量temp进行交换
temp = a; // 将a的值保存到temp
a = b; // 将b的值赋给a
b = temp; // 将temp(原来的a)的值赋给b
printf("交换后的值: a=%d, b=%d\n", a, b);
return 0;
}
```
这里我们引入了一个额外的临时变量temp,先将a的值暂存,然后将b的值给a,最后再把temp(原来a的值)给b,完成交换。
阅读全文