用函数指针,取代switch,实现跳转表.遇到错误(代码)

xifenmin 2004-10-17 10:10:45
我想用函数指针来,代替switch.编译可以通过,不过,运行的时候返回的值是错误的.我不知道问题出在那里.不好调试,请老师帮助看看.在linux下用gcc编译提示的是段错误.而c++builder里面返回的值是错误的.
代码如下:

#include <stdio.h>
#include <stdlib.h>

//----------------------------------------------
int Add(const int n1,const int n2)
{
int nt = n1 + n2;
return nt;
}
//----------------------------------------------
int Sub(const int n1,const int n2)
{
int nt = n1 - n2;

return nt;
}
//----------------------------------------------
int main(void)
{
extern int Add(const int n1,const int n2);
extern int Sub(const int n1,const int n2);

int n,n3;

int n1 = 10;
int n2 = 20;

scanf("%d",n3);

int (*lpFunc [])(const int n1,int n2) = {Add,Sub};

n = lpFunc[n3](n1,n2);

printf("%d\n",n);


}
...全文
182 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xifenmin 2004-10-17
  • 打赏
  • 举报
回复
谢谢了.的确是小错误.忽视了.哈哈
christ115 2004-10-17
  • 打赏
  • 举报
回复
你犯了一个小错误呵呵
scanf("%d",n3);应该是scanf("%d",&n3);
就可以了
内容概要:本文介绍了COSO企业风险管理框架,阐述了企业风险管理的定义、目标、构成要素及其与内部控制的关系。文章指出,企业风险管理是一个由董事会、管理层及其他人员实施的,应用于战略制定并贯穿于企业之中的过程,旨在识别可能影响主体的潜在事项,管理风险以使其在该主体的风险容量之内,并为主体目标的实现提供合理保证。该框架强调了企业风险管理的八大构成要素:内部环境、目标设定、事项识别、风险评估、风险应对、控制活动、信息与沟通、监控。此外,文章还讨论了企业风险管理的局限性,如人为判断失误、成本与效益的权衡、管理层凌驾等。 适合人群:具备一定管理学基础知识,对风险管理有兴趣的学者、企业管理人员、内部审计师及外部审计师。 使用场景及目标:①帮助组织理解并应用企业风险管理框架,以提高组织的风险管理水平;②指导企业如何通过有效的风险管理来实现其战略、经营、报告和合规目标;③为企业提供一套标准化的风险管理语言,促进内外部沟通与合作。 阅读建议:读者应结合实际案例,深入理解每个构成要素的具体应用,同时关注企业风险管理的局限性,以全面把握企业风险管理的本质。此外,建议定期回顾和更新风险管理策略,以适应不断变化的内外部环境。

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧