C语言如何运用回调函数实现计算器
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了C语言如何运用回调函数实现计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。回调函数概念:回调函数是一个通过函数指
千家信息网最后更新 2026年11月03日C语言如何运用回调函数实现计算器
这篇文章主要介绍了C语言如何运用回调函数实现计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
回调函数概念:
回调函数是一个通过函数指针调用的函数,也就是将函数的地址作为参数传递给另一个函数,当这个指针回来调用其指向的函数时,称为回调函数。
本次制作计算器的功能:
1.add -- 加法
2.sub -- 减法
3.mul -- 乘法
4.div -- 除法
0.exit -- 退出
具体来通过代码讲解:
(1)首先写一个菜单函数,在运行程序时打印菜单
void menu(){ printf("*************************\n"); printf("******* 1.add *******\n"); printf("******* 2.sub *******\n"); printf("******* 3.mul *******\n"); printf("******* 4.div *******\n"); printf("******* 0.exit *******\n"); printf("*************************\n");}(2)写好四个关于加、减、乘、除操作的函数
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;}(3)写主函数,定义input是你要输入的数,用来选择计算器的功能;然后使用do while循环,内嵌菜单函数。
int main(){ int input = 0; do { menu(); printf("请选择你要进行的操作:\n"); scanf("%d",&input); } while (input); return 0;}(4)用switch语句定义每个数字相对应的功能;default代表其他选项;Calc函数是我们接下来要写的回调函数。
int main(){ int input = 0; do { menu(); printf("请选择你要进行的操作:\n"); scanf("%d",&input); switch (input) { case 1: Calc(Add); break; case 2: Calc(Sub); break; case 3: Calc(Mul); break; case 4: Calc(Div); break; case 0: printf("退出计算器\n"); break; default: printf("选择错误,请重新选择!\n"); break; } } while (input); return 0;}(5)定义Calc函数,用一个函数指针作为参数接收(Add、Sub、Mul、Div)函数的地址;pf作为函数指针直接指向相应函数;然后输出结果;(这个回调函数csdn似乎识别不了,编译器是可以的,所以就以注释的形式写了,后面也是一样)。
void Calc() //括号内容:int(*pf)(int, int){ int x = 0; int y = 0; int ret = 0; printf("请输入2个操作数:\n"); scanf("%d %d",&x,&y); ret = pf(x,y); printf("%d\n",ret);}最后送上全部的代码小小总计一下:
#includevoid menu(){ printf("*************************\n"); printf("******* 1.add *******\n"); printf("******* 2.sub *******\n"); printf("******* 3.mul *******\n"); printf("******* 4.div *******\n"); printf("******* 0.exit *******\n"); printf("*************************\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;} void Calc() //括号内容:int(*pf)(int, int){ int x = 0; int y = 0; int ret = 0; printf("请输入2个操作数:\n"); scanf("%d %d",&x,&y); ret = pf(x, y); printf("%d\n", ret);} int main(){ int input = 0; do { menu(); printf("请选择你要进行的操作:\n"); scanf("%d",&input); switch (input) { case 1: Calc(Add); break; case 2: Calc(Sub); break; case 3: Calc(Mul); break; case 4: Calc(Div); break; case 0: printf("退出计算器\n"); break; default: printf("选择错误,请重新选择!\n"); break; } } while (input); return 0;}
感谢你能够认真阅读完这篇文章,希望小编分享的"C语言如何运用回调函数实现计算器"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
函数
选择
计算器
指针
篇文章
功能
菜单
输入
语言
代码
内容
参数
地址
括号
指向
操作数
错误
接下来
乘法
也就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
互联网科技工作委员会
云信互联网科技有限公司
互联网通讯科技
互联网金融公司科技
互联网科技排名
上海致骋互联网科技
互联网科技大会
大白互联网科技
互联网科技咨询
互联网科技股有哪些
哈尔滨屹滨互联网科技有限公司
河南住房之家互联网科技
内蒙古九一互联网科技
互联网公司黑科技创始人
众安科技工业互联网合作
2021互联网科技公司排名
下一代互联网重大应用科技园
容联科技互联网电商
互联网科技品牌
手磨咖啡
深圳互联网科技公司
中国 科技 互联网
为想互联网科技
互联网科技作文
西安互联网科技公司
顺网科技2021年互联网排名
以后互联网后是啥科技
天津腾达互联网科技有限公司
互联网科技的全部知识