Salida del siguiente programa?
#include <stdio.h> int main() { static int i=5; if(--i){ main(); printf("%d ",i); } return 0; }
(A) 4 3 2 1
(B) 1 2 3 4
(C) 0 0 0 0
(D) Error del compilador
Respuesta: (C)
Explicación: una variable estática se comparte entre todas las llamadas de una función. Todas las llamadas a main() en el programa dado comparten el mismo i. i se convierte en 0 antes de la instrucción printf() en todas las llamadas a main().
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