Рубрики

ВОРОТА | GATE-CS-2014- (Set-2) | Вопрос 52

Рассмотрим функцию 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) Функция возвращает 0 для всех значений j.
(B) Функция печатает строку что-то для всех значений j.
(C) Функция возвращает 0, когда j = 50.
(D) Функция исчерпает стек времени выполнения или запускается в бесконечный цикл, когда j = 50

Ответ: (D)
Объяснение: Когда j равен 50, функция будет вызывать себя снова и снова, поскольку ни i, ни j не изменяются внутри рекурсии.
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2014- (Set-2) | Вопрос 52

0.00 (0%) 0 votes