0x00007FFCFD0BDDF6 (ucrtbased.dll)处(位于 Project1.exe 中)引发的异常: 0xC0000...
c学到指针函数和函数指针,最后面敲了小甲鱼的那个例子但会报0x00007FFCFE51DDF6 (ucrtbased.dll)处(位于 Project1.exe 中)引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。
半天也没解决 求助一下大佬们
------------------------------------------------------------------------------------
#include <stdio.h>
int add(int a, int b);
int sub(int a, int b);
int boss(int (*fp)(int, int),int a, int b);
int(*select(char op))(int, int);
int add(int a, int b) {
return a + b;
}
int sub(int a, int b) {
return a - b;
}
int boss(int (*fp)(int,int),int a, int b) {
return(*fp)(a,b);
}
int(*select(char op))(int, int) {
switch (op)
{
case'+':
return add;
case'-':
return sub;
}
}
int main() {
int a,b;
int (*fp)(int, int);
char op;
printf("请输入一个式子(1+3): ");
scanf_s("%d%c%d", &a, &op, &b,20);
fp = select(op);
printf("%d %c %d = %d\n", a, op, b, boss(fp, a, b));
return 0;
} 我复制你的代码进来,输入scanf_s会报错,但把_s去掉就能正常输出了
页:
[1]