当调用递归函数时,局部变量不需要保存,它的值就像堆栈出栈一样。
强调一点就是局部变量只能在当前函数内有效,理由我想是当访问此函数时,系统会自动给这些局部变量申请内存,当退出函数时,就会释放局部变量的内存,这些局部变脸的值就不存在了。此时名字虽然一样,但内存地址是不一样的。当递归回到当前函数时,局部变量的地址不会变,那么值就保留下来,不需要用另一个全局变量来保留局部变量的值了。
int TestFun()
{
int test;
test++;
....
if(...)
TestFun()
test--;
return test;
}
最后返回值一定是0;
posted on 2006-10-15 23:02
天性如此 阅读(379)
评论(0) 编辑 收藏 引用