编写一个c语言a和b交换值
时间: 2024-10-18 09:05:14 浏览: 14
在C语言中,交换两个整数变量`a`和`b`的值可以使用临时变量或者不需要额外存储空间的三元运算符来实现。下面是两种常见的方法:
**使用临时变量法**:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a; // 将a的值保存到temp
*a = *b; // 把b的值赋给a
*b = temp; // 把temp的值赋给b
}
int main() {
int a = 5, b = 10;
printf("Before swapping: a = %d, b = %d\n", a, b);
swap(&a, &b); // 调用函数并传入地址
printf("After swapping: a = %d, b = %d\n", a, b);
return 0;
}
```
**三元运算符法**:
```c
#include <stdio.h>
void swapWithoutTemp(int* a, int* b) {
*a = *a + *b; // 使用三元运算符将a和b相加
*b = *a - *b; // a的新值减去b得到原始b的值
*a = *a - *b; // a再次减去b得到原始a的值
}
int main() {
int a = 5, b = 10;
printf("Before swapping: a = %d, b = %d\n", a, b);
swapWithoutTemp(&a, &b);
printf("After swapping: a = %d, b = %d\n", a, b);
return 0;
}
```
阅读全文