例如:
为了方便,我简写一下
fun()
{
if()
{
xxx;
}
else
{
fun()
fun()
xxx;
xxx:
}
}
main()
{
xxx;
fun();
xxx:
return 0;
}
大概这个框架,重点是二次递归不太懂理解,劳烦大神求讲解流程
就是两遍递归了,如果是执行递归某个操作,就是先递归执行一遍,然后又递归执行了一遍,除了第一次判断,其他的部分都是反正执行了两遍,如果其中修改了成员变量,那就要仔细分析了,两次递归可能就不一样了
二次调用,A执行到调用函数那一行,跳转到目标函数B,执行到调用函数那一行,跳转到目标函数C,函数C执行完毕,跳转回来,继续顺序执行B,函数B执行完毕,跳转回来,继续顺序执行A,,函数执行完毕,递归就是把ABC都换成是A就得,递归自己调用自己,但是函数调用的规则是不会变的
二次递归调用,执行某一个操作后,反复调用本身。