Это не похоже на то, что вы объявили p
в любом месте.
Попробуйте это в test
:
int* test(void)
{
static int chacha = 0;
return &chacha;
}
Теперь, если ваш главный:
int main()
{
int *p;
clrscr();
p = test();
printf("%d",*p);
getch();
return 0;
}
вы увидите поведение, которое ожидаете.