声明一个指向函数的指针数组,并通过指针调用函数。
#include<stdio.h> void f1();//函数f1的声明 void f2();//函数f2的声明 void f3();//函数f3的声明 void main() { void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明 int flag; printf("请输入一个1,2或者3.输入0退出.\n"); scanf("%d",&flag); while(flag) { if(flag==1||flag==2||flag==3) { f[flag-1]();//通过函数指针调用数组中的函数 printf("请输入一个1,2或者3.输入0退出.\n"); scanf("%d",&flag); } else { printf("请输入一个合法的数(1-3),0退出。\n"); scanf("%d",&flag); } } printf("程序退出。\n"); } void f1()//函数f1的定义 { printf("函数f1被调用!\n"); } void f2()//函数f2的定义 { printf("函数f2被调用!\n"); } void f3()//函数f3的定义 { printf("函数f3被调用!\n"); }
程序运行结果:
注意:函数指针不能执行像fun+1、fun++、fun--等运算。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-22 18:05:43