#if(1)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void main()
{
int max(int, int);
int (*p)();
int a, b, c;
p = max;
scanf("%d,%d", &a, &b);
c = (*p)(a, b);
printf("a=%d\nb=%d\nmax=%d\n\n", a, b, c);
}
#endif
报错:不能将int(*)(int,int)类型的值分配到int(*)()类型的实体
解决方法:将int(*p)()改为int(*p)(int,int)
函数指针要和函数参数表一样,修改后编译通过
#if(1)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void main()
{
int max(int, int);
int (*p)(int,int);
int a, b, c;
p = max;
scanf("%d,%d", &a, &b);
c = (*p)(a, b);
printf("a=%d\nb=%d\nmax=%d\n\n", a, b, c);
}
#endif