代码评析(系列五)
贴个C语言版本的阶乘函数,以响应群众呼声。/* 阶乘 */
DD1 (fact) {
int i;
int from = (int) N(in_1);
if(from < 0) {
ec_ex_syntax ("factorials for negative integers");
RETURN_FAILURE;
}
NW(out) = 1;
for(i = 1; i <= from; i ++) {
NW(out) *= (ec_value_t) i;
}
} END_OF (out) 看着很清爽,上来一堆错误条件检查,返回。
缺点是只用了int存储结果,范围肯定不行。 这真的是c语言吗???怎么看不懂了… 这才是C语言的精髓,宏定义满天飞。 回复 4楼Leo的帖子
看了这个才知道自己的C有多么的渣渣。。。 回复 5楼changkunpeng的帖子
双刃剑,宏定义过于随意会导致代码可读性严重降低。 同是c语音,差距怎么这么大,,,,
页:
[1]