/*
使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,
第一个参数“-a”选项执行加法,“-s”选项执行减法,
“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
*/
#include<stdio.h>
#include<stdlib.h>
int my_calculator(char *p,int num1,int num2)//calculator表示计算器
{
if(p=="-a")
return num1+num2;
else if(p=="-s")
return num1-num2;
else if(p=="-m")
return num1*num2;
else if(p=="-d")
return num1/num2;
else
return 0;
}
int main()
{
char a,b;
char *p=&b;
int num1=0;
int num2=0;
int result=0;
printf("请输入计算表达式:");
scanf("%d%c%d",&num1,&a,&num2);//录入算式,num1,num2为操作数,a保存的是操作符
//分别对参数指针p赋值,‘+’,‘-’,‘*’,‘/’,分别对应“-a,-s,-m,-d”,如果是别的符号就对p赋‘\0’
while(1) //while(0)表示为假,只要括号里面是非0就为真,循环就一直执行
{
if(a=='+')
{
p="-a";
break;
}
else if(a=='-')
{
p="-s";
break;
}
else if(a=='*')
{
p="-m";
break;
}
else if(a=='/')
{
p="-d";
break;
}
else
*p='\0';
}
result=my_calculator(p,num1,num2);//函数调用得到结果
printf("%d%c%d=%d\n",num1,a,num2,result);//分别输出
system("pause");
return 0;
}
结果:
请输入计算表达式:6/2
6/2=3
请按任意键继续. . .