编写一个swap函数,对传入的两个整型指针变量进行交换,其函数原型如下: void swap(int * pi, int * pj);
时间: 2024-03-10 08:50:53 浏览: 17
以下是一个简单的 C 语言程序,用于实现 `swap` 函数,对传入的两个整型指针变量进行交换:
```c
#include <stdio.h>
void swap(int * pi, int * pj);
int main()
{
int a = 10, b = 20;
printf("交换前:a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("交换后:a = %d, b = %d\n", a, b);
return 0;
}
void swap(int * pi, int * pj)
{
int temp;
temp = *pi;
*pi = *pj;
*pj = temp;
}
```
这个程序定义了一个 `swap` 函数,该函数使用指针作为参数,对传入的两个整型指针变量进行交换。在 `main` 函数中,首先定义了两个整型变量 `a` 和 `b`,然后调用 `swap` 函数,将 `a` 和 `b` 的地址作为参数传递给 `swap` 函数,实现两个变量的交换。最后再输出交换后的结果。
函数中使用了指针来实现变量的交换,通过指针可以访问和修改变量的值,达到交换变量的目的。
相关问题
C语言:使用如下函数原型交换2个变量的值: void Swap(int * p,int * q)
好的,这是一个交换两个变量值的函数原型,参数是两个指向整型变量的指针。函数实现如下:
```
void Swap(int *p, int *q)
{
int temp = *p;
*p = *q;
*q = temp;
}
```
在函数内部,我们首先将 p 指针指向的值存储在一个临时变量 temp 中,然后将 p 指针指向的值改为 q 指针指向的值,最后将 q 指针指向的值改为 temp 中存储的值,完成交换。
编写程序定义swap函数,利用指针实现两个变量值的交换,并对其进行结果分析
可以通过以下方式定义一个swap函数,利用指针实现两个变量值的交换:
```c++
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在这个函数中,我们接受两个指向整型变量的指针作为参数,然后使用临时变量temp来保存a指向的变量的值。接着,我们将a指向的变量的值更新为b指向的变量的值,将b指向的变量的值更新为temp的值,从而实现了两个变量的值的交换。
我们可以通过以下方式调用这个函数:
```c++
int x = 1;
int y = 2;
swap(&x, &y);
// 现在x的值为2,y的值为1
```
这个函数的结果是正确的,因为在传递指针时,我们传递了变量的地址,而不是变量的值,因此在函数内部对指针所指向的变量进行修改时,实际上是修改了原始变量的值。所以在上面的例子中,x和y的值确实被成功地交换了。