利用指针实现得到三个数中的最大值和最小值
时间: 2023-07-15 14:15:40 浏览: 61
可以使用指针作为函数参数,通过指针访问传入的三个数,并在函数中比较得到最大值和最小值。以下是示例代码:
```c
#include <stdio.h>
void findMinAndMax(int *a, int *b, int *c, int *min, int *max) {
*min = *a;
*max = *a;
if (*b < *min) {
*min = *b;
}
if (*c < *min) {
*min = *c;
}
if (*b > *max) {
*max = *b;
}
if (*c > *max) {
*max = *c;
}
}
int main() {
int a = 10, b = 5, c = 7;
int min, max;
findMinAndMax(&a, &b, &c, &min, &max);
printf("Min: %d, Max: %d\n", min, max);
return 0;
}
```
在上面的代码中,`findMinAndMax`函数接受三个指针类型的参数 `a`, `b`, `c`,以及两个指针类型的输出参数 `min`, `max`。在函数内部,使用指针访问传入的三个数,比较得到最大值和最小值,并通过指针修改输出参数 `min`, `max` 的值。在 `main` 函数中,需要将变量 `a`, `b`, `c` 的地址作为参数传入 `findMinAndMax` 函数中。