编写函数swap实现两个数据的互换,形参分别指针和引用 C语言
时间: 2024-04-09 14:27:58 浏览: 20
在C语言中,可以通过指针和引用来实现两个数据的互换。下面是一个使用指针的swap函数的示例:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
使用引用的示例如下:
```c
void swap(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
```
这两个函数都可以实现两个数据的互换,调用方式类似:
```c
int main() {
int x = 10;
int y = 20;
swap(&x, &y); // 使用指针的swap函数
// 或者
// swap(x, y); // 使用引用的swap函数
printf("x = %d, y = %d\n", x, y); // 输出结果:x = 20, y = 10
return 0;
}
```
注意,在使用指针进行互换时,需要传递变量的地址,即使用`&`操作符获取地址。而使用引用时,则直接传递变量即可。
相关问题
编写一个函数swap,实现两个整形变量的交换,要求形参为指针或数组
好的,这是一个简单的C语言函数,可以实现两个整型变量的交换,形参为指针:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
使用方法如下:
```c
int x = 1, y = 2;
swap(&x, &y);
printf("x=%d, y=%d\n", x, y); // 输出 x=2, y=1
```
如果要使用数组作为形参,可以稍微修改一下:
```c
void swap(int arr[], int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
使用方法如下:
```c
int arr[] = {1, 2};
swap(arr, 0, 1);
printf("arr[0]=%d, arr[1]=%d\n", arr[0], arr[1]); // 输出 arr[0]=2, arr[1]=1
```
c++编写函数swap实现两个数交换
下面是C语言中实现两个数交换的swap函数:
```
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
```
这个函数接受两个指向int类型变量的指针作为参数,然后将它们所指向的值进行交换。使用时,只需要将需要交换的两个数的地址作为参数传递给函数即可。例如:
```
int main()
{
int a = 1, b = 2;
printf("Before swap: a=%d, b=%d\n", a, b);
swap(&a, &b);
printf("After swap: a=%d, b=%d\n", a, b);
return 0;
}
```
输出结果为:
```
Before swap: a=1, b=2
After swap: a=2, b=1
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)