1个回答
展开全部
返回函数指针就可以达到你的目的
给你个例子:
#include <stdio.h>
int f1(void)
{
return 666;
}
int f2(void)
{
return 777;
}
int (*(f(int n)))(void) /*这个比较绕,f函数有一个int参数,返回一个指向返回int且无参数的函数的指针 */
{
if(n==1)
return f1; /*返回函数入口*/
else
return f2; /*返回函数入口*/
}
int main()
{
printf("%d\n",f(1)());
printf("%d\n",f(2)());
return 0;
}
给你个例子:
#include <stdio.h>
int f1(void)
{
return 666;
}
int f2(void)
{
return 777;
}
int (*(f(int n)))(void) /*这个比较绕,f函数有一个int参数,返回一个指向返回int且无参数的函数的指针 */
{
if(n==1)
return f1; /*返回函数入口*/
else
return f2; /*返回函数入口*/
}
int main()
{
printf("%d\n",f(1)());
printf("%d\n",f(2)());
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询