c语言map函数指针,函数指针 - 弧光守望者 - OSCHINA - 中文开源技术交流社区
/*Author:Choas Lee
*Date:2012-02-28
*/
#include
#include
#include
float add(float a,float b){return a+b;}
float minus(float a,float b){return a-b;}
float multiply(float a,float b){return a*b;}
float divide(float a,float b){return a/b;}
//该函数的返回值是一个函数
float(* FunctionMap(char op) )(float,float)
{
switch(op)
{
case '+':
return add;
break;
case '-':
return minus;
break;
case '*':
return multiply;
break;
case '\\':
return divide;
break;
default:
exit(1);
}
}
int main()
{
float a=10,b=5;
char ops[]={'+','-','*','\\'};
int len=strlen(ops);
int i=0;
float (*returned_function_pointer)(float,float);//定义了一个函数指针
for(i=0;i
{
returned_function_pointer=FunctionMap(ops[i]);
printf("the result caculated by the operator %c is %f\n",ops[i],returned_function_pointer(a,b));
}
return 0;
}
输出:
the result caculated by the operator + is 15.000000
the result caculated by the operator - is 5.000000
the result caculated by the operator * is 50.000000
the result caculated by the operator \ is 2.000000
参考:
1.http://hipercomer.blog.51cto.com/4415661/792301
c语言map函数指针,函数指针 - 弧光守望者 - OSCHINA - 中文开源技术交流社区相关推荐
- 守望者逃离算法C语言代码,BCJR算法 - 弧光守望者 - OSCHINA - 中文开源技术交流社区...
function Turbo_Decoder % 输入,信息位和校验位 t = [1 1 -1 1 1 -1 1 1 -1 1 1 1 -1 1 -1 -1]; U = [+0.213 -0.371 ...
- 按照c语言规首字母只能是,C语言--指针 - osc_nbqoh20k的个人空间 - OSCHINA - 中文开源技术交流社区...
[TOC] #知识内容总结 ##为什么要学习指针? 我们已经学习了如何用数组存放多个相同类型的数据并进行运算,但数组的长度在定义时必须给定以后不能再改变.如果事先无法确定需要处理数据数量,应该如何处理 ...
- C语言调用自定义交换函,C语言函数篇 - personal page of Msingwen - OSCHINA - 中文开源技术交流社区...
函数(一): 函数知识点 函数:能实现某种特定功能的代码 分为系统函数(内置函数) (例如printf scanf getchar putchar time ..) 和 自定义函数 两类! ...
- jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区...
请大家严格按照下面顺序编写圆形生成器程序. : 定义函数getCircleArea(r),可以对指定r计算圆面积.计算公式math库的pi*r*r. 定义函数get_rList(n),功能:输入n个值 ...
- c语言里有队列函数没,C语言队列的实现 - osc_tf30cc36的个人空间 - OSCHINA - 中文开源技术交流社区...
对于C语言的队列来说,也有顺序存储和链表存储两种方式. 顺序存储容量固定,链表存储随时分配释放更加灵活. 下面是链表实现的队列初始化.入队.出队函数实现: #include #include #inc ...
- linux fflush函数,fflush - wwliu的个人页面 - OSCHINA - 中文开源技术交流社区
概述 函数名: fflush 功 能: 清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件 头文件: #include 原型:int fflush(FILE *stream) #include # ...
- c语言的文件打开模式,c语言文件打开模式 - osc_b2jf5efr的个人空间 - OSCHINA - 中文开源技术交流社区...
(转载) 在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图: 打开模式 只可以读 只可以写 读写兼备 文本模式 r w a r+ w+ a+ 二进制模式 rb wb ab rb+ (r+ ...
- java实现自举_实现语言的自举 - 沙枣的个人空间 - OSCHINA - 中文开源技术交流社区...
几乎所有的语言项目,其核心都是用更底层的语言写的. 底层语言大部分是 C,C++,而扩展这门语言的核心,就要用另外一种语言 去写.这给语言设计者较大的挑战. 开发语言必须具备底层语言的编写能力,而为了 ...
- c语言分号的转义字符,C语言中的转义字符 - osc_9gm4ypss的个人空间 - OSCHINA - 中文开源技术交流社区...
C语言中的转义字符 在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么.这类字符称为可显示字符,如a.b.c.$.+和空格符等都是可显示字 ...
最新文章
- 11个问题助你彻底搞懂工业互联网
- JSP快速入门教程——全十讲
- 日常生活 -- 开博二周年
- strange behavior:why u31000 is accessed for Extension project
- 前端学习(1837):前端面试题之变量提升
- xenserver6.2 内存leak故障处理
- SQL基础E-R图画法(三)
- Gartner磁盘阵列魔力象限:华为、昆腾、Infinidat势头迅猛
- JS编辑器获取选择内容的HTML多浏览器兼容性写法(支持Chorme、Firefox)
- python电脑版-python
- TM1640数码管控制器移植STM32HAL库
- Mac配置maven环境变量
- 以虎嗅网4W+文章的文本挖掘为例,展现数据分析的一整套流程
- java计算机毕业设计ssm网上报名系统
- 网页图片无缝循环滚动html代码
- anaconda下载python3.6_anaconda python3.6下载
- STM32逆变器电源设计方案,基于STM32F103控制器
- 生产者消费者模型的实现(线程通信)
- OCaml for Haskellers
- 女人没嫁出去的极端理由
热门文章
- IBM ThinkPad笔记本资料速查
- iOS开发(swift):UI界面
- Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day3】 —— 集合框架1
- luogu P3393 逃离僵尸岛
- Android手机 能装 ios,苹果AirTag支持哪些手机设备-AirTag安卓手机可以使用吗?-Appfound...
- 数据挖掘与数据仓库——数据仓库、 OLAP及数据立方体计算
- [已出]出售二手Macbook pro 374 , 详见内文 (有文 有图 有视频)
- 尚品宫韩式烧烤 无忧致富好项目
- vue导出excel使用xlsx、file-saver、xlsx-style、yxg-xlsx-style 遇到的坑
- iphone 3 gs