e30疑惑
#include <stdio.h>int add(int, int);
int sub(int, int);
int calc(int (*fp)(int, int), int, int);
int add(int num1, int num2)
{
return num1 + num2;
}
int sub(int num1, int num2)
{
return num1 - num2;
}
int calc(int (*fp)(int, int), int num1, int num2)
{
return (*fp)(num1, num2);
}
int main()
{
printf("3 + 5 = %d\n", calc(add, 3, 5));
printf("3 - 5 = %d\n", calc(sub, 3, 5));
return 0;
}
两个标黄部分是不是第一个是函数指针,后一个是指针函数 你标错范围了,应该是这样的,每一个颜色是一个整体
int calc(int (*fp)(int, int), int, int);
int calc(int (*fp)(int, int), int num1, int num2)
C语言复杂声明解析
https://blog.csdn.net/wangweixaut061/article/details/6549768
页:
[1]