通过指针调用函数,并从键盘控制调用不同的函数,求两个数的最小值
时间: 2024-05-07 16:21:07 浏览: 10
下面是一个示例代码,使用指针调用两个不同的函数,分别求两个数的最小值:
```c
#include <stdio.h>
void min1(int a, int b) {
printf("The minimum value is %d\n", a < b ? a : b);
}
void min2(int a, int b) {
printf("The minimum value is %d\n", a > b ? b : a);
}
int main() {
int a, b;
int choice;
printf("Enter two numbers: ");
scanf("%d %d", &a, &b);
printf("Which function do you want to use?\n");
printf("1. Find minimum using min1()\n");
printf("2. Find minimum using min2()\n");
scanf("%d", &choice);
void (*p)(int, int);
if (choice == 1) {
p = &min1;
} else if (choice == 2) {
p = &min2;
} else {
printf("Invalid choice\n");
return 1;
}
(*p)(a, b);
return 0;
}
```
在这个示例中,我们定义了两个函数 `min1()` 和 `min2()`,它们分别使用不同的方法求两个数的最小值。然后,我们使用一个指针 `p` 来指向这些函数中的一个。根据用户的选择,我们将 `p` 指向 `min1()` 或 `min2()` 中的一个。最后,我们通过调用 `(*p)(a, b)` 来调用所选的函数,以求出两个数的最小值。