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

2019/7/24 0:47:23 人评论 次浏览 分类:学习教程

原文链接:http://www.cnblogs.com/riasky/p/3430876.html


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;
}


 

 

转载于:https://www.cnblogs.com/riasky/p/3430876.html

相关资讯

    暂无相关的资讯...

共有访客发表了评论 网友评论

验证码: 看不清楚?
    -->