复习C语言系列二:动态调用函数指针数组


a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun()

a
请输入给您指定的函数输调用的参数
afun_par
-----------------------------
now call_fun_ptr
-----------------------------
call afun:(afun_par)
-----------------------------
请按任意键继续. . .




a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun()
b
请输入给您指定的函数输调用的参数
bfun_par
-----------------------------
now call_fun_ptr
-----------------------------
call bfun:(bfun_par)
-----------------------------

请按任意键继续. . .

/*
    
*/
#include "common.h"

void call_fun_ptr(void(*fp)(char* str),char *str)
{
    puts("-----------------------------");
    printf("now %s \n",__FUNCTION__); 
    (*fp)(str);
}

void afun(char* str)
{
    puts("-----------------------------");
    printf("%s%s:(%s)\n","call ",__FUNCTION__,str); 
    puts("-----------------------------");
}

void bfun(char* str)
{
    puts("-----------------------------");
    printf("%s%s:(%s)\n","call ",__FUNCTION__,str); 
    puts("-----------------------------");
}

int main(int argc,char* argv[])
{
    char ch='\0';
    char str[81]={0};
	void ((*fun_ptr[2]))(char*)={afun,bfun};
    printf("a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun()%\n"); 
    scanf("%c",&ch);
    printf("请输入给您指定的函数输调用的参数%s\r\n",str); 
	scanf("%s",str);
    if('a'==ch)
        call_fun_ptr(*fun_ptr[0],str);
    else if('b'==ch)
        call_fun_ptr(*fun_ptr[1],str);
    else
        printf("输入字符无效\n"); 

    system("pause");
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值