免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: yui009
打印 上一主题 下一主题

[C] 运算符作为变量的处理问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-06-05 16:07 |只看该作者

论坛徽章:
0
12 [报告]
发表于 2008-06-05 16:09 |只看该作者
函数指针数组

论坛徽章:
0
13 [报告]
发表于 2008-06-05 16:14 |只看该作者
你太牛逼了,我已经好多年没见过这么雷的代码了

论坛徽章:
0
14 [报告]
发表于 2008-06-05 21:20 |只看该作者
请大家不要笑话楼主,他这个想法还是有可取之处的,将“行为”,不仅仅是数据作为变量的语言能够提供动态编程的能力

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
15 [报告]
发表于 2008-06-05 22:09 |只看该作者
原帖由 yui009 于 2008-5-28 14:00 发表
如下操作,不可运行,会者请指点
math[4] = {'+','-','*','/'};
void calc(int val1, int val2, int n)
{
        int result;
        result = val1(math[n])val2;
}


C 不支持动态表达式,但是一些动态语言可以,比如 perl 。

#!/usr/bin/perl


$a = 2;
$b = 4;
$c = 0;
@math = ('+','-','*','/');

print  '$a = ', $a, "\n";
print  '$b = ', $b, "\n\n";

for ($i=0; $i<4; $i++)
{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$cmd = '$c = '.'$a'."$math[$i]".'$b';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print $cmd, "\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eval $cmd;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print  '$c = ', $c, "\n\n";
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP