void swap(int &x, int &y) { int t = x; // 将 x 的值存储到临时变量 t 中 x = y; // 将 y 的值赋给 x y = t; // 将 t 的值赋给 y,即将 x 的值赋给 y}用到指针了吗
时间: 2024-03-25 21:35:40 浏览: 43
存储过程,要用到指针,临时表
在这个 swap 函数的实现中,并没有用到指针。它是通过引用的方式来实现变量值的交换,引用是一种更加安全和简便的方式,可以避免指针所带来的一些问题,如空指针的访问等。如果使用指针来实现变量值的交换,可以写成下面这样:
```
void swap(int *x, int *y) {
int t = *x; // 将 x 指向的变量的值存储到临时变量 t 中
*x = *y; // 将 y 指向的变量的值赋给 x 指向的变量
*y = t; // 将 t 的值赋给 y 指向的变量,即将 x 指向的变量的值赋给 y 指向的变量
}
```
在调用 swap 函数时,需要将变量的地址作为参数传递给 swap 函数,从而实现变量值的交换。具体代码如下:
```
int a = 1, b = 2;
swap(&a, &b);
```
这样,变量 a 和 b 的值就会被交换。但是需要注意的是,在使用指针时需要特别小心,避免出现空指针访问等错误。
阅读全文