ISRO | CS ISRO 2008 | Pregunta 37

Considere la siguiente función C:

int f(int n)
{
static int i = 1;
if(n >= 5) return n;
n = n+i;
i++;
return f(n);
}

El valor devuelto por f(1) es
(A) 5
(B) 6
(C) 7
(D) 8

Respuesta: (C)
Explicación: Dado que i es estático, la primera línea de f() se ejecuta solo una vez.

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)

ya que n >= 5 devuelve n(7) con valor de retorno = 7

La opción (C) es correcta.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *