PUERTA | PUERTA CS 2020 | Pregunta 56

Considere las siguientes funciones de C.

int fun1(int n) {
    static int i= 0;
    if (n > 0) {
       ++i;
      fun1(n-1);
   }
  return (i);
}
int fun2(int n) {
   static int i= 0;
   if (n>0) {
      i = i+ fun1 (n) ;
      fun2(n-1) ;
  }
return (i);
}

El valor de retorno de fun2(5) es ________ .

Nota: esta pregunta era de tipo numérico.
(A) 55
(B) 45
(C) 50
(D) 52

Respuesta: (A)
Explicación: fun1() suma su valor anterior debido a la ‘ variable estática ‘.
Por lo tanto, imprime 55.

#include <stdio.h> 
  
int fun1(int n);
int fun2(int n);
  
int fun1(int n) {
    static int i= 0;
    if (n > 0) {
       ++i;
      fun1(n-1);
   }
  return (i);
}
int fun2(int n) {
   static int i= 0;
   if (n>0) {
      i = i+ fun1 (n) ;
      fun2(n-1) ;
  }
return (i);
}
  
int main() 
 { 
     
  printf("%d", fun2(5)); 
  return 0; 
 } 

Código: https://ide.geeksforgeeks.org/RAcxRv1gaA

La opción (A) 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 *