要求用函数指针的方法,求两个整数的和,差,乘积。首先输入两个整数,然后,从键盘输入1,输出求和结果;输入2,输出求差结果;输入3,输出求乘积结果。输入其他则退出程序。
时间: 2024-03-27 18:39:59 浏览: 42
在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出矩阵第一行与第三行元素之和,并在fun()函数中输出
5星 · 资源好评率100%
好的,这是一个比较简单的问题,我可以给您提供一个示例代码。请注意,以下代码需要在支持 C 语言的编译器中运行。
```c
#include <stdio.h>
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 main() {
int a, b, choice;
int (*func_ptr[3])(int, int) = {add, sub, mul}; // 定义函数指针数组
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
while (1) {
printf("请选择要进行的操作:\n");
printf("1. 求和\n");
printf("2. 求差\n");
printf("3. 求乘积\n");
printf("输入其他则退出程序\n");
scanf("%d", &choice);
if (choice < 1 || choice > 3) break; // 输入其他则退出程序
int result = func_ptr[choice - 1](a, b); // 调用函数指针
switch (choice) {
case 1:
printf("a + b = %d\n", result);
break;
case 2:
printf("a - b = %d\n", result);
break;
case 3:
printf("a * b = %d\n", result);
break;
}
}
return 0;
}
```
以上代码中,我们定义了 `add`、`sub` 和 `mul` 三个函数用于求和、求差和求积。而 `func_ptr` 数组则是用于存储这三个函数的函数指针。在主函数中,我们先输入两个整数,然后进入一个无限循环,等待用户输入操作选项。当用户输入其他选项时,我们使用 `break` 语句跳出循环。当用户输入 1、2 或 3 时,我们通过 `func_ptr` 数组来调用相应的函数,并将计算结果存储在 `result` 中。最后,我们使用 `switch` 语句来输出计算结果。
希望这个例子能够帮到您,如果您有任何问题或疑问,请随时问我。
阅读全文