读书人

压栈顺序,该怎么解决

发布时间: 2013-02-27 10:48:11 作者: rapoo

压栈顺序


# include <stdio.h>

void f(int n)
{
if (n == 0)
return;
f(n-1);
printf("AAAA\n");
f(n-1);
printf("BBBB\n");
}

int main(void)
{
f(2);

return 0;
}

请问上面递归函数的压栈顺序是什么.在压的时候也把下面的aaaa和bbbb填上.
[解决办法]
这个不是递归啊
[解决办法]
引用:
C/C++ code?123456789101112131415161718# include <stdio.h> void f(int n){ if (n == 0) return; f(n-1); printf("AAAA\n"); f(n-1); printf("BBBB\n");} int main(void){ ……

这么会有2次调用?

引用:
C/C++ code?123456789101112131415161718# include <stdio.h> void f(int n){ if (n == 0) return; f(n-1); printf("AAAA\n");} int main(void){ ……

这个还可以说是的递归
[解决办法]
f(2)->f(1)->f(0)->AAAA->f(1)->f(0)->BBBB
[解决办法]
自己单步跟踪下

读书人网 >C语言

热点推荐