用函数的指针实现从三个数中,输出最大值
时间: 2023-11-22 17:53:13 浏览: 65
可以使用以下代码实现:
```c
#include <stdio.h>
int getMax(int a, int b, int c) {
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
return max;
}
void printMax(int (*getMax)(int, int, int), int a, int b, int c) {
int max = getMax(a, b, c);
printf("最大值为:%d\n", max);
}
int main() {
int a = 10, b = 20, c = 30;
printMax(getMax, a, b, c);
return 0;
}
```
这里定义了一个名为 `getMax` 的函数,它接受三个整数参数,并返回其中的最大值。然后定义了另一个名为 `printMax` 的函数,它接受一个函数指针和三个整数参数,调用这个函数指针指向的函数,并将结果打印出来。
在 `main` 函数中,我们定义了三个整数变量 `a`, `b`, `c`,并将它们的值分别设为 10、20 和 30。然后我们调用 `printMax` 函数,将 `getMax` 函数的指针作为参数传递给它,再将 `a`, `b`, `c` 三个变量也作为参数传递给它。
当程序运行时,`printMax` 函数会调用 `getMax` 函数,得到三个数中的最大值,然后将这个最大值打印出来。在本例中,最大值为 30。
阅读全文