c语言:定义两个函数,分别为void swap1(int a,int b)和swap2(int*a,int*b),用于交换a,b的值。从主函数中分别输入两个整型变量a、b。从主函数中分别调用上述两个交换函数,并打印输出交换后a、b的结果。
时间: 2024-02-21 16:01:07 浏览: 40
好的,以下是代码实现:
```c
#include <stdio.h>
void swap1(int a, int b) {
int temp = a;
a = b;
b = temp;
}
void swap2(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b;
printf("请输入a和b的值:\n");
scanf("%d %d", &a, &b);
swap1(a, b);
printf("使用swap1交换后,a为:%d,b为:%d\n", a, b);
swap2(&a, &b);
printf("使用swap2交换后,a为:%d,b为:%d\n", a, b);
return 0;
}
```
其中,`swap1`函数采用值传递的方式,而`swap2`函数采用指针传递的方式。在`swap1`函数中,虽然交换了`a`和`b`的值,但是这个交换并不会影响到主函数中`a`和`b`的值。因为在`swap1`函数中,`a`和`b`是复制了主函数中的`a`和`b`,所以交换的只是这两个复制品的值。而在`swap2`函数中,通过指针传递,可以直接修改主函数中`a`和`b`的值,因此交换后的结果是正确的。
相关问题
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 中存储的值,完成交换。
用c语言交换两个整数的值,函数接口定义:void fun (int *a,int *b);
下面是交换两个整数的值的 C 语言代码:
```c
void fun(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
调用这个函数时,传入两个整数的地址即可:
```c
int main() {
int a = 1, b = 2;
printf("Before swap: a = %d, b = %d\n", a, b);
fun(&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
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.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)