int f(int &x, int c)
{
c = c - 1;
if (c == 0) return 1;
x = x + 1;
return f(x, c) * x;
}
int x = 5;
cout << f(x,5);
在上面的例子中,可供选择的四个答案是:
函数 f(int&amp; x,int c)在第一次调用之后调用四次,然后返回基本情况,返回结果 6561 。我的猜测 3024 ,但我错了。即使通过引用传递的 x 变量在每次调用 f(int&amp; x,int c)时递增,并取值 6->分别为7-> 8-> 9 ,该递归的最终结果等于 9 ^ 4 。所以我的问题是:变量 x 通过引用传递,当它到达基本情况时等于 9 。这是否意味着递归的所有阶段都将具有变量 x 的此值,即使它们在被调用时具有不同的值?