【发布时间】:2017-08-02 09:14:46
【问题描述】:
如果我们继续像这样重复调用,那将是一团糟:)
int fun()
{
static int num = 16;
return num--;
}
int main()
{
for (fun(); fun(); fun())
printf("%d ", fun());
return 0;
}
我知道静态的概念,但我想知道这个程序是如何工作的并打印输出:14 11 8 5 2
【问题讨论】:
-
你的程序中没有递归。
-
为了让你的程序有递归,你需要有一个调用自身的函数。
-
C 中没有 stack。如果我们假设一个实现使用 stack 进行函数调用,它仍然无趣:只有一个函数被调用反复。投票以“不清楚你在问什么”(但你可能想澄清)结束这个。
标签: c for-loop recursion static