国际空间研究组织 | ISRO CS 2018 |问题 79
令 P 是对于某些输入调用自身的过程(即递归)。如果 P 保证终止,那么下列哪项陈述必须是正确的?
I. P has a local variable
II. P has an execution path where it does not call itself
III. P either refers to a global variable or has at least one parameter
(A)我只
(B)仅二
(C)仅 III
(D)仅 II 和 III答案: (D)
解释:在任何递归过程中:
a) 始终需要一个基本条件,以便过程可以终止其重复执行,同时将一些值返回给 main()函数。因此,陈述(II)是必要的。
b) 递归函数应该引用一个全局变量或至少有一个参数,以便可以递归调用它,在堆栈中创建局部变量的新副本。如果没有这些,递归过程就没有目的,因为它将无法执行。
所以,选项(D)是正确的。
这个问题的测验