本帖最后由 yuanyangxin 于 2017-12-4 11:21 编辑
#include <iostream>
#include <cstdlib>
using namespace std;
int add(int, int);
int sub(int, int);
int Math(int a, int b, int(*pAdd)(int, int));
int(*select(char op))(int, int);
void main()
{
//int a = 3;
//int b = 2;
//char op='+';
//int(*fp)(int, int);
//printf("加法(add) 或者 减法(sub)");
//scanf_s("%c", op);
//fp = select(op);
//cout << Math(a, b,fp) << endl;
////cout << Math(a, b, sub) << endl;
int num1, num2;
char op;
int(*fp)(int, int);
printf("请输入一个式子(如1+2):");
scanf_s("%d%c%d", &num1, &op, &num2);
fp = select(op);
cout << Math(num1, num2, fp);
system("pause");
}
int add(int a, int b)
{
return a+b;
}
int sub(int a, int b)
{
return a-b;
}
int Math(int a, int b, int(*pAdd)(int, int))
{
return (*pAdd)(a, b);
}
int(*select(char op))(int, int)
{
switch (op)
{
case '+':return add;
case '-':return sub;
}
}
你好,我按照小甲鱼老师的代码进行了上面的更改,但是依旧会报错
写入位置时发生访问冲突。上传不了报错信息的图片,麻烦你帮我看一下。 |