有人可以向我解释这种递归是如何工作的吗?我被陷的结果如何是20时,递归只留下上,如果a == b它是a = 6和b = 6
int main()
{
printf("%d \n",mistero(2, 6));
return 0;
}
mistero( a, b)
{
if( a == b ){
return a;
}
return a + mistero(a+1, b);
}
Run Code Online (Sandbox Code Playgroud)
mistero(2, 6) =
2 + mistero(3, 6) =
2 + 3 + mistero(4, 6) =
2 + 3 + 4 + mistero(5, 6) =
2 + 3 + 4 + 5 + mistero(6, 6) =
2 + 3 + 4 + 5 + 6
= 20
Run Code Online (Sandbox Code Playgroud)