双递归的执行过程谁能解释下给本人听 谢谢

C语言 码拜 8年前 (2016-05-24) 1618次浏览
假定有段这样的代码:
void recursion(int *a,int i,int j)//递归
{
if (i > N – 2)
{
return;
}
else if (j < N – 1 – i)
{
if (a[j] > a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
recursion(a, i, j + 1);
recursion(a, i + 1, j);
}
}
谁能解释下 这双递归执行的过程? 是先执行 recursion(a, i, j + 1); 执行完成 当j>N-1-i时 在执行 recursion(a, i + 1, j); 还是 recursion(a, i, j + 1);执行一次 然后在执行 recursion(a, i + 1, j);
解决方案

40

本人单步跟踪程序运行比谁给你解释都好

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明双递归的执行过程谁能解释下给本人听 谢谢
喜欢 (0)
[1034331897@qq.com]
分享 (0)