2.{对于下列递归函数:
A: f factorial(n):
B: turn n * factorial(n - 1)
C: )是正确的。}
D: 调用factorial(0),返回值0
E: 调用factorial(1),返回值1
F: 调用factorial(2),返回值2
G: 调用factorial(3),返回值6
H: 函数无限运行,导致StackOverflowError异常
A: f factorial(n):
B: turn n * factorial(n - 1)
C: )是正确的。}
D: 调用factorial(0),返回值0
E: 调用factorial(1),返回值1
F: 调用factorial(2),返回值2
G: 调用factorial(3),返回值6
H: 函数无限运行,导致StackOverflowError异常
举一反三
- 请阅读以下代码,调用函数factorial(4)的结果为()。 function factorial(n) { // 定义回调函数 if (n == 1) { return 1; // 递归出口 } return n * factorial(n - 1); }
- 对于下面递归函数fun,调用fun(3) 的返回值是 。 fun(int n) { return ((n>0) ? 2*fun(n-1)+fun(n-2) : -1); }
- 对于以下递归函数f,调用f(3)的返回值是______________ f(int n) { return((n<=0)?n:f(n-1)+f(n-2)); }
- def myfun( ):pass调用以上函数返回的值为 ( ) A: 出错不能运行 B: 空字符串 C: 无返回值 D: 0
- 函数f()、g()的定义如下所示。己知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为______;若以传引用方式调用g,则函数f的返回值为______。 A: 3 B: 4 C: 6 D: 7