国际空间研究组织 | ISRO CS 2008 |问题 37
考虑以下 C函数:
int f(int n)
{
static int i = 1;
if(n >= 5) return n;
n = n+i;
i++;
return f(n);
}
f(1) 返回的值是
(一) 5
(乙) 6
(三) 7
(四) 8答案: (C)
说明:因为 i 是静态的,所以 f() 的第一行只执行一次。
Execution of f(1)
i = 1
n = 2
i = 2
Call f(2)
i = 2
n = 4
i = 3
Call f(4)
i = 3
n = 7
i = 4
Call f(7)
因为 n >= 5 返回 n(7),返回值 = 7
选项(C)是正确的。
这个问题的测验