一般来讲C语言计算器只需要进行简单的函数调用即可完成,
但是当想要计算机实现更多的功能时,就必然会引入更多的函数从而导致代码过长,
而此时函数指针就可以在一定程度上精简代码。
如下所示
#include<stdio.h>
int Add(int x, int y)
{
int z = x + y;
return (z);
}
int Sub(int x, int y)
{
int z = x - y;
return z;
}
int Mul(int x, int y)
{
int z = x * y;
return z;
}
int Dev(int x, int y)
{
int z = x / y;
return z;
}
int qyv(int x, int y)
{
int z = x % y;
return z;
}
void menu()
{
printf("************请输入要进行的运算***********\n");
printf("**********1、Add 2、Sub**************\n");
printf("**********3、Mul 4、Dev***************\n");
printf("**********5、取余 ************\n");
printf("*************0、退出***********************\n");
}
int main()
{
int(*perr[7])(int x, int y) = { NULL,Add,Sub,Mul,Dev,qyv};//在这里使用函数指针
int n = 0, x = 0, y = 0, z = 0;
while (1)
{
menu();
scanf("%d", &n);
if(n==0)
break;
printf("请输入两个运算数");
scanf("%d %d", &x, &y);
printf("%d\n", perr[n](x,y));
}
}