c语言——简单计算器——加、减、乘、除
#define _crt_secure_no_warnings#include<stdio.h>void menu(){printf("**************************n");printf("*******1.add 2.sub*******n");printf("*******3.mul 4.div*******n");printf("*******0.exit ******n");printf("**************************n");}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 main(){int input = 0;int x = 0, y = 0;do{menu();printf("请选择:>");scanf("%d", &input);switch (input){ case 1: printf("请输入两个操作数"); scanf("%d%d", &x, &y); printf("%dn", add(x, y)); break; case 2: printf("请输入两个操作数"); scanf("%d%d", &x, &y); printf("%dn", sub(x, y)); break; case 3: printf("请输入两个操作数"); scanf("%d%d", &x, &y); printf("%dn", mul(x, y)); break; case 4: printf("请输入两个操作数"); scanf("%d%d", &x, &y); printf("%dn", div(x, y)); break; case 0: printf("退出计算器"); break; default: printf("选择错误,请重新选择"); break;}} while (input);return 0;}在函数之中建立主菜单函数menu,在case语句中分别使用四个简单计算的函数
为了简单明了,可以使用函数指针数组
这条语句定义p为数组,数组内的元素为函数指针,后面两个int 代表指向的函数有两个形参,均为整形,前面第一个int 代表函数的返回值为整形
ret = p[input](x, y);解引用的时候,后面加上括号,括号输入实参即可