📜  C |存储类和类型限定符|问题11

📅  最后修改于: 2021-05-25 21:53:33             🧑  作者: Mango

考虑下面的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基础课程》。