【发布时间】:2017-08-02 16:15:29
【问题描述】:
#include <stdio.h>
main()
{
int i=5;
if(--i)
{
main();
printf("%d ",i);
}
请注意,如果我们将int i 设为static,那么答案将是0000。
【问题讨论】:
-
什么是你不明白的?递归还是静态变量?
-
通过添加静态我得到0000,这是可以理解的,但问题在循环中,终止条件不存在,现在我明白了。
-
您可以在这里查看我的回答,了解当我们进行无限递归调用时会发生什么:stackoverflow.com/questions/45427160/…
-
编译成功然后运行失败是正常现象。