📌  相关文章
📜  国际空间研究组织 | ISRO CS 2008 |问题 37

📅  最后修改于: 2022-05-13 01:58:02.099000             🧑  作者: Mango

国际空间研究组织 | 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)是正确的。
这个问题的测验