C语言中如何交换两个变量的值?
时间: 2023-05-29 18:03:55 浏览: 67
可以使用第三个变量来交换两个变量的值,例如:
```
int a = 10;
int b = 20;
int temp;
temp = a;
a = b;
b = temp;
```
也可以使用异或运算来交换两个变量的值,例如:
```
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
```
以上两种方法都可以实现交换两个变量的值。
相关问题
c语言中如何交换两个变量的值
可以使用第三个变量来交换两个变量的值,也可以使用异或的方法进行交换。
方法一:
```
int a = 5, b = 10, temp;
temp = a;
a = b;
b = temp;
```
方法二:
```
int a = 5, b = 10;
a ^= b;
b ^= a;
a ^= b;
```
以上两种方法都可以实现交换两个变量的值。
c语言交换两个指针变量的值
交换两个指针变量的值需要使用指向指针的指针。具体步骤如下:
```c
void swap(int **p, int **q) {
int *temp; // 定义一个指向指针的指针
temp = *p;
*p = *q;
*q = temp;
}
int main() {
int a = 1, b = 2;
int *p = &a, *q = &b;
printf("交换前:*p=%d, *q=%d\n", *p, *q);
swap(&p, &q);
printf("交换后:*p=%d, *q=%d\n", *p, *q);
return 0;
}
```
在上面的代码中,`swap` 函数的参数是指向指针的指针,传入 `&p` 和 `&q` 的地址即可。在函数内部,定义一个指向指针的指针 `temp`,将 `*p` 的值赋给 `temp`,再将 `*q` 的值赋给 `*p`,最后将 `temp` 的值赋给 `*q`,完成交换操作。