可能重复:
这段代码中到底发生了什么?
在这个问题中,我无法应用我的递归概念
#include<stdio.h>
count(int);
main()
{
int x=4;
count(x);
return 0;
}
count(int n)
{
if(n>0)
{
count(n-1);
printf("%d",n);
count(n-1);
}
}
当我们运行程序时count(4),count(3),count.....count(0)
存储在堆栈中......但是什么时候count(0)
被调用并且if
条件为假......那么控制权在哪里?请如果有人可以借助显示各种函数调用的图表进行解释。