/*

使用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

请按任意键继续. . .