c语言中利用函数怎么调换两个数的值
时间: 2023-06-01 11:01:56 浏览: 55
可以利用指针来实现两个数的交换,具体代码如下:
```
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, y = 20;
printf("Before swap: x=%d, y=%d\n", x, y);
swap(&x, &y);
printf("After swap: x=%d, y=%d\n", x, y);
return 0;
}
```
执行结果:
```
Before swap: x=10, y=20
After swap: x=20, y=10
```
在函数中,通过指针传递变量的地址,然后在函数内部交换变量的值。在主函数中调用该函数时,传递变量的地址即可实现变量的交换。
相关问题
用C语言求两个数中最大值函数
以下是两个用C语言求两个数中最大值的函数的例子:
1.自定义函数
```c
#include<stdio.h>
int get_max(int x, int y) {
if (x > y) {
return x;//若最大值为x则返回x
} else {
return y;//否则返回y
}
}
int main() {
int a, b;
printf("请输入a,b的值,a与b之间用逗号隔开\n");
scanf("%d,%d",&a,&b);
int max = get_max(a, b);//对函数的调用
printf("最大值为:%d",max);
return 0;
}
```
2.使用三目运算符的函数
```c
#include<stdio.h>
int getMax(int x, int y) {
int z=x > y ? x : y; //三目运算符
return z;
}
int main() {
int a = 10,b=20;
int max=getMax(a, b);
printf("最大值max=%d\n",max);
return 0;
}
```
用c语言,利用指针找两个数中的最大值
可以使用指针来实现找两个数中的最大值,具体的代码如下所示:
```c
#include <stdio.h>
int max(int *a, int *b) {
if (*a > *b) {
return *a;
} else {
return *b;
}
}
int main() {
int x = 10, y = 20;
int *a = &x, *b = &y;
printf("Max value: %d\n", max(a, b));
return 0;
}
```
在代码中,我们首先定义了一个 `max` 函数,该函数接收两个 `int` 类型的指针作为参数,然后使用指针解引用来比较两个数的大小,最后返回较大的那个数。
在 `main` 函数中,我们定义了两个 `int` 类型的变量 `x` 和 `y`,然后分别取它们的地址赋值给指针 `a` 和 `b`,最后调用 `max` 函数来找到两个数中的最大值。