Итак, я готовился к вступительному экзамену здесь, в Индии, когда я наткнулся на этот кусок кода C
#include <stdio.h>
int main(void) {
static int i = 4;
if (--i) {
main();
printf("%d", i);
}
}
Я думал, что инструкция printf
никогда не будет выполнена, и результат будет пустым.
Но я видел ответ 0000
и что это происходит из-за ключевого слова static
с int
.
Может ли кто-нибудь объяснить, почему printf выполняет или этот парень ошибается?