编写一个C程序,运行时输入a,b两个值,然后交换两个值并输出。
时间: 2024-10-12 10:11:22 浏览: 29
PHP互换两个变量值的方法(不用第三变量)
当你需要编写一个简单的C程序来交换两个整数变量的值,你可以使用临时变量或者不使用额外空间的方式。以下是两种常见方法的示例:
**方法一:使用临时变量**
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b;
printf("请输入第一个值a: ");
scanf("%d", &a);
printf("请输入第二个值b: ");
scanf("%d", &b);
printf("交换前:a=%d, b=%d\n", a, b);
swap(&a, &b); // 调用函数传递地址
printf("交换后:a=%d, b=%d\n", a, b);
return 0;
}
```
**方法二:不使用临时变量(异或操作)**
这是一种数学技巧,在C语言中可行,因为`x XOR y XOR y == x`:
```c
#include <stdio.h>
int main() {
int a, b;
printf("请输入第一个值a: ");
scanf("%d", &a);
printf("请输入第二个值b: ");
scanf("%d", &b);
printf("交换前:a=%d, b=%d\n", a, b);
a = a ^ b; // 异或操作,a = (a+b) % 2
b = a ^ b; // 现在a = (old_b+new_b) % 2
a = a ^ b; // 此时a = old_a
printf("交换后:a=%d, b=%d\n", a, b);
return 0;
}
```
阅读全文