Рубрики

C | Классы хранения и классификаторы типов | Вопрос 11

Рассмотрим следующую функцию 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)

(А) 5
(Б) 6
(С) 7
(D) 8

Ответ: (с)
Объяснение: Поскольку 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 | Классы хранения и классификаторы типов | Вопрос 11

0.00 (0%) 0 votes