ISRO | CS ISRO 2015 | Pregunta 69

el siguiente programa

main()
{
inc(); inc(); inc();
}
inc()
{
static int x;
printf("%d", ++x);
}

(A) imprime 012
(B) imprime 123
(C) imprime 3 números consecutivos pero impredecibles
(D) imprime 111

Respuesta: (B)
Explicación: Dado que el valor de x no está declarado, automáticamente obtendría 0 como su valor inicial. La primera vez que se llama a inc() en main(), el valor de x se incrementará en 1.
Las variables estáticas conservan su valor anterior en su ámbito anterior y no se inicializan de nuevo en el nuevo ámbito. Entonces, cuando se llama a inc() por segunda y tercera vez, el valor de x simplemente se incrementa en 1. Es por eso que la respuesta correcta es 123

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 *