找回密码
 立即注册

QQ登录

只需一步,快速开始

Leo

超级版主

20

主题

493

帖子

1073

积分

超级版主

Rank: 8Rank: 8

积分
1073

活字格认证微信认证勋章元老葡萄

Leo
超级版主   /  发表于:2014-5-14 09:06  /   查看:6854  /  回复:6
贴个C语言版本的阶乘函数,以响应群众呼声。
  1. /* 阶乘 */
  2. DD1 (fact)        {
  3.         int        i;
  4.         int        from        = (int) N(in_1);

  5.         if(from < 0) {
  6.                 ec_ex_syntax ("factorials for negative integers");

  7.                 RETURN_FAILURE;
  8.         }

  9.         NW(out)        = 1;

  10.         for(i = 1; i <= from; i ++) {
  11.                 NW(out)        *= (ec_value_t) i;
  12.         }
  13. } END_OF (out)
复制代码

6 个回复

倒序浏览
Leo
超级版主   /  发表于:2014-5-14 09:08:00
沙发
看着很清爽,上来一堆错误条件检查,返回。
缺点是只用了int存储结果,范围肯定不行。
回复 使用道具 举报
saber000
银牌会员   /  发表于:2014-5-14 09:25:00
板凳
这真的是c语言吗???怎么看不懂了…
回复 使用道具 举报
Leo
超级版主   /  发表于:2014-5-14 09:51:00
地板
这才是C语言的精髓,宏定义满天飞。
回复 使用道具 举报
changkunpeng
注册会员   /  发表于:2014-5-14 21:48:00
5#
回复 4楼Leo的帖子

看了这个才知道自己的C有多么的渣渣。。。
回复 使用道具 举报
Leo
超级版主   /  发表于:2014-5-15 08:38:00
6#
回复 5楼changkunpeng的帖子

双刃剑,宏定义过于随意会导致代码可读性严重降低。
回复 使用道具 举报
perftcc
中级会员   /  发表于:2014-5-15 09:01:00
7#
同是c语音,差距怎么这么大,,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部