考虑下面的C函数
int f(int n)
{
static int i = 1;
if (n >= 5)
return n;
n = n+i;
i++;
return f(n);
}
f(1)返回的值是(GATE CS 2004)
(A) 5
(B) 6
(C) 7
(D) 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)
since n >= 5 return n(7)
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。