在c语言中,输入三个整数a,b,c,求其中最大数和最小数。要求用指向最大数的指针p1和指向最小数的指针p2代替max和min变量实现。最终输出p1和p2所指向的最大数,最小数
时间: 2024-02-24 19:56:02 浏览: 55
好的,我明白了你的问题。下面是这道题的C语言代码:
```
#include <stdio.h>
void find_max_min(int a, int b, int c, int *p1, int *p2) {
if (a > b) {
*p1 = a;
*p2 = b;
} else {
*p1 = b;
*p2 = a;
}
if (c > *p1) {
*p1 = c;
} else if (c < *p2) {
*p2 = c;
}
}
int main() {
int a, b, c, max, min;
int *p1 = &max, *p2 = &min;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
find_max_min(a, b, c, p1, p2);
printf("最大数为:%d,最小数为:%d\n", *p1, *p2);
return 0;
}
```
在这个程序中,我们定义了一个名为`find_max_min`的函数,这个函数接收三个整数和两个指向整数的指针。我们在函数中通过比较来找到最大数和最小数,并将它们分别赋值给指针所指向的变量。
在主函数`main`中,我们声明了三个整数变量`a`、`b`、`c`,以及两个指向整数的指针`p1`、`p2`。我们通过`scanf`函数来读取用户输入的三个整数,然后将它们传递给`find_max_min`函数中进行处理。
最后,我们通过`printf`函数输出指针`p1`和`p2`所指向的最大数和最小数。
希望这个程序能够解决你的问题。如果你还有其他问题,请随时问我。
阅读全文