C语言中两个浮点型变量对调
时间: 2024-11-09 19:18:53 浏览: 10
在C语言中,如果你想要交换两个浮点型(float或double)变量的值,可以使用临时变量来辅助操作,以下是常见的做法:
```c
void swap(float* a, float* b) {
float temp;
temp = *a; // 将a的值赋给temp
*a = *b; // 将b的值赋给a
*b = temp; // 将temp的值赋给b
}
// 调用示例:
float x = 3.14, y = 2.71;
swap(&x, &y);
printf("After swapping: x = %.2f, y = %.2f\n", x, y); // 输出:After swapping: x = 2.71, y = 3.14
```
在这个`swap`函数里,通过指针间接地交换了两个变量的值。如果你想省去这个中间变量,也可以使用算术运算,但可能会损失一些精度,因为浮点数直接相加减会有很小的误差:
```c
void swap_float(float* a, float* b) {
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
```
阅读全文