#include<stdio.h>
int add(int, int);
int sub(int, int);
int cal(int(*p)(int ,int),int, int) ;
int(*p(char ))(int ,int);
int add(int a,int b)
{
return a + b;
}
int sub(int a,int b)
{
return a-b;
}
int cal(int(*p)(int,int),int a,int b)
{
return p(a,b);
}
int(*p(char c))(int a ,int b)
{
switch(c)
{
case '+':return add;
case '-':return sub;
}
}
int main(void)
{
printf("please input a presentation,such as (a-b)");
int a,b;
char c;
scanf("%d%c%d",&a,&c,&b);
int (*fp)(int ,int);
fp = p(c);
printf("%d %c %d = %d",a,c,b,cal(fp,a,b));
return 0;
}
|