#includevoid f1();//函数f1的声明 void f2();//函数f2的声明 void f3();//函数f3的声明 void main() { void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明 int flag; printf(请输入一个1,2或者3.输入0退出. ); scanf(%d,&flag); while(flag) { if(flag==1||flag==2||flag==3) { f[flag-1]();//通过函数指针调用数组中的函数 printf(请输入一个1,2或者3.输入0退出. ); scanf(%d,&flag); } else { printf(请输入一个合法的数(1-3),0退出。 ); scanf(%d,&flag); } } printf(程序退出。 ); } void f1()//函数f1的定义 { printf(函数f1被调用! ); } void f2()//函数f2的定义 { printf(函数f2被调用! ); } void f3()//函数f3的定义 { printf(函数f3被调用! ); }
程序运行结果:

注意:函数指针不能执行像fun+1、fun++、fun--等运算。
?