#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int jia(int a, int b)
{
return a + b;
}
int jian(int a, int b)
{
return a - b;
}
// 函数指针作为返参数
int canshu(int (*pf)(int, int),int a, int b)
{
return pf(a, b); // 调用函数指针所指向的函数。
}
// 函数指针作为返回值
int (*fanhuizhi(char *op))(int, int)
{
if (strcmp(op, "+") == 0)
return jia; // 返回函数指针jia的值,即jia函数的地址。
if (strcmp(op, "-") == 0)
return jian; // 返回函数指针jian的值,即jian函数的地址。
}
int main()
{
int a = canshu(jia,2,3);
printf("%d\n", a);
int (*p)(int,int);
p = fanhuizhi("-");
int b = (*p)(20,3);
printf("%d\n", b);
return 0;
}
C语言函数指针和指针函数
最新推荐文章于 2024-10-30 15:52:39 发布