C语言基础之函数指针4
函数指针
格式:返回值类型 (*指针名)(形参列表)
作用:利用函数指针,可以动态的调用函数
#include<stdio.h>
void method1();
int method2(int num1, int num2);
int main() {//函数指针//定义两个指针指向两个函数void (*p1)() = method1;int (*p2)(int int) = method2;//利用函数指针去调用函数p1();int num = p2(10, 20);printf("%d\n", num);return 0;		}
void method() {printf("method1\n");}
int method2(int num1, int num2) {printf("method2\n");return num1 + num2;
}练习:
定义:+,-, *,/四个数字(1,2,3,4)
用户输入三个数字:前两个表示参与计算的数字,第三个表示调用的函数
#include<stdio.h>
int add(int num1, int num2){return num1 + num2;
}
int substract(int num1, int num2){return num1 - num2;
}
int mutiply(int num1, int num2){return num1 * num2;
}
int divide(int num1, int num2){return num1 / num2;
}
int main(){
//定义一个数组去装四个函数的指针
//函数指针数组
int (arr[4])(int, int) = {add, substract, mutiply, dicide};
//输入
int num1;
int num2;
scanf("%d%d", &num1, &num2);
int choose;
scanf("%d", &choose);
int res = (arr[choose - 1])(num1, num2);
printf("%d\n", res);
return 0;
}