您的位置:首页 > 其它

挑战一个经典的算法题!(坑爹的求和)

2012-06-01 14:07 197 查看
在C语言论坛看到的一个帖子



本来绞尽脑汁也毫无眉目,因为不用if 不可能的,我只能想到递归但是实在想不出不用if 怎么来递归,后来想起来看过《短码之美》,书中介绍短码技巧的时候说过&&短路运算,就用了,果然成功了!

int
func (int n, int *p)  {
n && func (n-1, p);
return *p += n;
}

int
main (void)  {
int n = 3, sum = 0, *p = &sum /* 结果扔到sum */
func (n, p);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: