C локальная переменная используется повторно
Насколько я знаю после каждого вызова функции, локальные переменные отбрасываются. Но когда я выполнил этот фрагмент кода, переменные сохранили свое прежнее значение. Что это за поведение?
Компилятор: gcc 4.8.4
#include<stdio.h>
void t();
int main(void){
t();
t();
t();
return 0;
}
void t(){
int i;
i++;
printf("%d\n",i);
}
Выход:
4bh1@mybox:~/C-fi$ ./test
1
2
3