PUERTA | GATE-IT-2004 | Pregunta 60 – Part 1

¿Cuál es la salida del siguiente programa?

#include <stdio.h>
int funcf (int x);
int funcg (int y);
  
main()
{
    int x = 5, y = 10, count;
    for (count = 1; count <= 2; ++count)
    {
        y += funcf(x) + funcg(x);
        printf ("%d ", y);
    }
}
  
funcf(int x)
{
    int y;
    y = funcg(x);
    return (y);
}
  
funcg(int x)
{
    static int y = 10;
    y += 1;
    return (y+x);
}

(A) 43 80
(B) 42 74
(C) 33 37
(D) 32 32

Respuesta: (A)
Explicación: La cuenta = 1 y va hasta dos, por lo que la siguiente declaración se ejecutará dos veces.

1ra llamada- funcg(x);  

2da llamada funcg(x);

Primera iteración-> main()->y = 16+17 +10 =

Segunda iteración-> main() y= 18+19 +43 =

Entonces la respuesta es A

Vea más sobre las variables estáticas en: https://www.geeksforgeeks.org/g-fact-80/
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 *