📜  门| GATE-CS-2014-(Set-2) |第 52 题

📅  最后修改于: 2021-09-26 03:07:57             🧑  作者: Mango

考虑下面给出的 C函数。

int f(int j)
{
  static int i = 50;
  int k;
  if (i == j)
  {
    printf(“something”);
    k = f(i);
    return 0;
  }
  else return 0;
}

以下哪一项是正确的?

(A)函数对于 j 的所有值都返回 0。
(B)该函数为 j 的所有值打印字符串。
(C)当 j = 50 时,函数返回 0。
(D)当 j = 50 时,函数会耗尽运行时堆栈或陷入无限循环答案: (D)
解释:当 j 为 50 时,函数会一次又一次地调用自己,因为在递归过程中 i 和 j 都没有改变。
这个问题的测验