我想设置一个可以实现加减乘除的计算器
写了一个Calc()函数,括号里面填如Add、Sub等函数(Add等也是自己创建的函数),然后输入两个数字,进行相应的功能
问题在于Calc函数这样写的话可以显示出结果:
void Calc(int(*pf)(int,int))
{
int x=0;
int y=0;
printf("请输入两个操作数\n");
scanf("%d%d",&x,&y);
printf("%d\n",pf(x,y));
}
然而这样写却不能出现计算结果:
int Calc(int(*pf)(int,int))
{
int x=0;
int y=0;
printf("请输入两个操作数\n");
scanf("%d%d",&x,&y);
return pf(x,y);
}
这个两段代码的不同之处我在第二段代码中用加粗和下划线标注出来了
还有主函数和其他调用函数(Add、Sub)我省略没写,只写了最核心的问题,就是pf(x,y)为什么不能直接作为一个值来返回。
感谢大佬的指点,如果我的问题有描述不清楚的地方,希望您能评论出来。