要实现一个简单的计算器,我们可以利用函数指针数组来实现。具体的代码实现,可以如下:
1. 定义函数指针
首先,我们需要定义四个函数,分别实现加、减、乘、除操作。然后,我们定义一个函数指针数组,用来存储这四个函数。
// 定义加、减、乘、除四个函数
int add(int a, int b) { return a+b; }
int sub(int a, int b) { return a-b; }
int mul(int a, int b) { return a*b; }
int div(int a, int b) { return a/b; }
// 定义函数指针数组,存储四个函数
int (*calc_func[4])(int, int) = {add, sub, mul, div};
2. 根据用户输入选择运算符
然后,我们需要根据用户的输入,选择对应的运算符。这里我们使用一个switch语句来实现。
// 根据用户输入,选择对应的函数指针
int select_function(char op) {
switch(op){
case '+':
return 0;
case '-':
return 1;
case '*':
return 2;
case '/':
return 3;
default:
return -1;
}
}
其中,当用户输入的运算符不在加、减、乘、除四个运算符中时,我们返回-1,表示进行非法操作。
3. 实现计算器的主函数
最后,我们可以编写主函数来实现计算器的功能。
// 输入两个数字和一个运算符,输出计算结果
void calculator() {
int a, b;
char op;
int func_index;
printf("请输入数字和运算符:");
scanf("%d %c %d", &a, &op, &b);
func_index = select_function(op);
if(func_index == -1){
printf("非法操作\n");
return;
}
int result = (*calc_func[func_index])(a, b);
printf("计算结果为:%d\n", result);
}
例如,我们可以用以下代码来测试:
calculator(); // 输入 2 + 3,会输出计算结果 5
calculator(); // 输入 4 * 5,会输出计算结果 20
至此,我们已经成功实现了一个简单的计算器。这个计算器可以进行加、减、乘、除四个简单的数学运算。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言函数指针数组实现计算器功能 - Python技术站