输入2个整数a和b,交换它们的值。要求定义和调用函数swap( int *pa, int *pb)实现
时间: 2023-05-31 11:18:07 浏览: 529
### 回答1:
定义函数swap( int *pa, int *pb),其中pa和pb分别为指向整型变量a和b的指针。函数实现交换a和b的值。
函数代码如下:
void swap(int *pa, int *pb)
{
int temp = *pa;
*pa = *pb;
*pb = temp;
}
调用函数时,传入a和b的地址即可:
int a = 1, b = 2;
swap(&a, &b);
//此时a的值为2,b的值为1
### 回答2:
题目要求我们输入两个整数a和b,然后交换它们的值。为了实现这个需求,我们需要定义一个函数swap,该函数接受两个指向int类型的指针pa和pb,函数的作用是交换指针所指向的变量的值。
以下是swap函数的定义:
```
void swap(int* pa, int* pb)
{
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
```
在这个函数里,我们首先定义一个整型变量temp,用来保存一个数值。然后,我们将pa所指向的值赋给temp,再将pb所指向的值赋给pa所指向的值,最后将temp的值赋给pb所指向的值。
现在我们已经定义了swap函数,下面是使用该函数来交换a和b的值的步骤:
1. 首先,我们声明两个整型变量a和b,并输入它们的值:
```
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
```
2. 然后,我们调用swap函数,并将a和b的地址作为参数传递给该函数:
```
swap(&a, &b);
```
3. 最后,我们输出交换后a和b的值,以确认swap函数能够成功交换它们的值:
```
printf("a=%d, b=%d", a, b);
```
综上所述,在本题中,我们使用了一个名为swap的函数来交换两个整型变量的值,并通过给函数传递指针参数来实现。这种方法既可以高效地交换变量的值,又可以避免使用额外的变量来存储交换前的数据,从而更节省空间。
### 回答3:
在C语言中,要交换两个整数的值,可以通过定义一个函数来实现,即swap函数,其参数类型为指向整型变量的指针类型,如下所示:
void swap(int *pa, int *pb)
{
int tmp;
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
在函数中,首先定义一个临时变量tmp,将pa所指向的数值赋值给tmp,再将pb所指向的数值赋值给pa所指向的数值,最后将tmp的值赋值给pb所指向的数值。
在主函数中,先声明两个整型变量a和b,再调用swap函数,将它们的地址传递给swap函数,代码如下:
int main()
{
int a, b;
scanf("%d%d", &a, &b);
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;
}
其中,通过scanf函数获取用户输入的两个整型变量的值,并在交换之前输出它们的原始值,在交换之后输出它们的新值。
总之,定义和调用函数swap(int *pa, int *pb),可以实现输入两个整数a和b,交换它们的值的功能。
阅读全文