用C++,定义一个函数指针数组,用该数组完成对于两个实数(加、减、乘、除)四个功能函数的管理?

定义一个函数指针数组,用该数组完成对于两个实数(加、减、乘、除)四个功能函数的管理。

#include <stdio.h>
int add(int x, int y) {
return x + y;
}
int sub(int x, int y) {
return x - y;
}
int mul(int x, int y) {
return x * y;
}
int div(int x, int y) {
return x / y;
}
int (*p[])(int, int) ={add, sub, mul, div};
void menu() {
printf("**************\n");
printf("please choose a function:\n"); printf("hhhhhh.add\n");
printf("2.sub\n");
printf("3.mul\n");
printf("4.div\n");
printf("0.exit\n");
}
int main() {
int i, j;
int cmd;
while (1) {
menu();
scanf("%d", &cmd);
if (cmd == 0) break;
if (cmd >= 1 && cmd <= 4) {
printf("please input 2 nums:"); scanf("%d,%d", &i, &j);
int (*q)(int, int) =p[cmd - 1];
int result = q(i, j);
printf("%d\n", result);
}
else break;
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答