C语言简易计算器的两种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
void menu()
printf("*****************\\n");
printf("**1.add 2.sub**\\n");
printf("**3.mul 4.div**\\n");
printf("*****0.exit******\\n");
int main()
int x=0;
int y=0;
int input=0;
int (*pf[5])(int,int)=0,add,sub,mul,div;//数组元素个数可以不写
do
menu();
printf("请输入:>\\n");
scanf("%d",&input);
if(input>=1 && input<=4)
printf("请输入数据:>\\n");
scanf("%d%d",&x,&y);
printf("%d\\n",pf[input](x,y));
else if(input==0)
printf("退出\\n");
break;
else
printf("输入错误\\n");
break;
while(input);
return 0;
第二种方法 switch case语句
#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;
void menu()
printf("*****************\\n");
printf("**1.add 2.sub**\\n");
printf("**3.mul 4.div**\\n");
printf("*****0.exit******\\n");
void calc(int (*pf)(int,int))
int x=0;
int y=0;
printf("请输入:>");
scanf("%d%d",&x,&y);
printf("%d\\n",pf(x,y));
int main()
int x=0;
int y=0;
int input=0;
do
menu();
printf("请输入:>");
scanf("%d",&input);
switch(input)
case 1:
calc(add);
break;
case 2:
calc(sub);
break;
case 3:
calc(mul);
break;
case 4:
calc(div);
break;
case 0:
printf("退出\\n");
break;
default:
printf("输入错误,请重新输入\\n");
break;
while(input);
以上是关于C语言简易计算器的两种方法的主要内容,如果未能解决你的问题,请参考以下文章
busybox的实现原理分析(C语言实现简易版的busybox)