C语言:函数指针

定义加、减、乘、除四个函数

用键盘录入三个数字

前两个表示参与计算的数字

第三个数字表示调用的函数

1.加法 2.减法 3.乘法 4.除法

cs 复制代码
#include<stdio.h>

//先定义一波函数
int add(int num1, int num2) {    //加法函数
	return num1 + num2;
}

int subtract(int num1,int num2){   //减法函数
 
	if (num1 > num2) {
		return num1 - num2;
	}
	return num2 - num2;
}

int mutiply(int num1,int num2) {   //乘法函数

	return num1 * num2;
}

int divide(int num1,int num2) {   //除法函数
	if (num2 == 0) {
		printf("输入数据错误");
		return 0;
	}

	return num1 / num2;
}


int main() {
	//定义一个函数指针数组存储每个函数
	int (*p[4])(int num1, int num2) = { add,subtract ,mutiply ,divide };

	//键盘录入两个数
	int num1;
	int num2;
	printf("请输入两个整数\n");
	scanf("%d%d", &num1, & num2);

	//键盘输入一个数字选择运算方式
	int num3;
	printf("请输入一个数字选择如下\n1.加法   2.减法   3.乘法   4.除法\n");
	scanf("%d", &num3);


	//调用数组的函数
	printf("运算结果为:%d", p[num3 - 1](num1, num2));
	return 0;

}
相关推荐
叫我辉哥e18 小时前
### 技术文章大纲:C语言造轮子大赛
c语言·开发语言
TracyCoder1239 小时前
LeetCode Hot100(15/100)——54. 螺旋矩阵
算法·leetcode·矩阵
u01092727110 小时前
C++中的策略模式变体
开发语言·c++·算法
2501_9418372610 小时前
停车场车辆检测与识别系统-YOLOv26算法改进与应用分析
算法·yolo
进击的小头11 小时前
行为型模式:策略模式的C语言实战指南
c语言·开发语言·策略模式
六义义11 小时前
java基础十二
java·数据结构·算法
四维碎片11 小时前
QSettings + INI 笔记
笔记·qt·算法
Tansmjs11 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
爱编码的小八嘎12 小时前
C语言对话-5.通过任何其他名字
c语言
独自破碎E12 小时前
【优先级队列】主持人调度(二)
算法