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;

}
相关推荐
I_belong_to_jesus3 小时前
C++关于分支预测的优化1
开发语言·c++·算法
another heaven10 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
Code_Solitude10 小时前
C语言动态内存 + 柔性数组 + 数组名退化
c语言·算法·柔性数组
上海潭龙东海科技有限公司10 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
YLCHUP13 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
思麟呀13 小时前
背包DP(01背包+完全背包)
c++·算法
Zwawa14 小时前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
笑容掩饰我的失落14 小时前
区块链从小白到精通(七):Solidity 语法精讲——数据类型、函数、修饰器与事件
算法·区块链·php·智能合约·哈希算法
Pniubi15 小时前
力扣24. 两两交换链表中的节点(递归)
算法·leetcode·链表