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

发布时间:2014-10-23 23:26:36
来源:分享查询网

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

返回顶部
查看电脑版