前言:
计算器是我们生活中重要的使用工具,那么我们要怎样写出计算机小程序呢?想必大家有很多种写出计算器程序的代码,在这里小编将用函数指针数组写出计算器程序.
函数名与&函数名的含义:
例如下面的Add函数,当我们将Add函数名和&Add放在数组里面时都是函数的地址.
什么是函数指针数组:
顾名思义,所谓函数指针数组实质上是数组,但是里面存储的是函数,因为函数名是函数的地址,所以我们要用指针存储
例如下图:
p[2]就是指针数组,里面存有Add函数与Sub函数,返回类型是int
代码程序(细节在代码中)
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> void meau() { printf("0.退出\n"); printf("1.加法\n"); printf("2.减法\n"); printf("3.乘法\n"); printf("4.除法\n"); } //加法 int Add(int x, int y) { return x + y; } //减法 int Sub(int x, int y) { return x - y; } //乘法 int Mul(int x, int y) { return x * y; } //除法 int Div(int x, int y) { return x / y; } int main() { int input = 0; int x = 0, y = 0; //构建一个函数指针的数组 int (*p[5])(int x, int y) = { 0, Add, Sub, Mul, Div }; do { //菜单 meau(); printf("请选择:>\n"); scanf("%d", &input); if (input == 0) { printf("正在退出\n"); break; } else if (input >= 1 && input <= 4) { printf("请输入两个整数\n"); scanf("%d %d", &x, &y); int ret = p[input](x, y); printf("%d\n\n", ret); } else { printf("选择错误,请重新选择\n"); } } while (input); return 0; }