对于以下递归函数f, 调用f(4),其返回值为:

对于以下递归函数f, 调用f(4),其返回值为:
int f(int n) { if (n <= 0) return 1; return f(n-1)+(n++); }
帮忙算一下,本人算出来和答案不一致

我在VC6.0上执行了一下,答案是 11。
其实函数 f 等价于:
int f(int n) { if (n <= 0) return 1; return f(n-1)+n; }
因为 n++ 是“先使用后自增”,所以在 f 函数这里 n++ 的效果跟 n 一样。
于是返回值就是 :1+1+2+3+4 = 11。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-09
你这个题后面是n++,所以是11,原题返回值不是n++,所以是10

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网