¿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