【发布时间】:2015-02-04 20:37:06
【问题描述】:
我试图理解这一点,但没有机会。这个怎么运作?
#include <stdio.h>
int tavuk(int i)
{
return (i%3 != 0 ? i + tavuk(--i) : i);
}
void main(void)
{
int *p, array_a[]={5,2,4,7,3};
p = array_a;
printf("%d", tavuk(array_a[*(++p)]));
}
【问题讨论】:
-
代码的哪一部分你不明白?全部?
-
这看起来像学生测试。检查学生是否理解流程。
-
如果您不了解递归,请检查:danzig.us/cpp/recursion.html
-
打印数字 7 吗? (我刚刚阅读了代码..)
-
@tp1 是 6,但你是如何得到 7 的,我什至无法理解它是如何工作的。
标签: c++ arrays ternary-operator