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;

}
相关推荐
茉莉玫瑰花茶几秒前
C++ 17 详细特性解析(5)
开发语言·c++·算法
cpp_250113 分钟前
P10570 [JRKSJ R8] 网球
数据结构·c++·算法·题解
cpp_250120 分钟前
P8377 [PFOI Round1] 暴龙的火锅
数据结构·c++·算法·题解·洛谷
uesowys28 分钟前
Apache Spark算法开发指导-Factorization machines classifier
人工智能·算法
季明洵1 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
shandianchengzi1 小时前
【小白向】错位排列|图文解释公考常见题目错位排列的递推式Dn=(n-1)(Dn-2+Dn-1)推导方式
笔记·算法·公考·递推·排列·考公
I_LPL1 小时前
day26 代码随想录算法训练营 回溯专题5
算法·回溯·hot100·求职面试·n皇后·解数独
Yeats_Liao1 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
cpp_25011 小时前
P9586 「MXOI Round 2」游戏
数据结构·c++·算法·题解·洛谷
浅念-1 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法