Hello guys.This is my first post.

Problem: The first printf outputs 35 which makes sense but the second printf outputs a garbage value? I know this has something to do with stack but can any1 clarify how it works in this program?Thanks.

Code:
int *j;

j=fun( );

printf("\n %d ",*j);

printf("\n %d ",*j);

int *fun( )
{

int k=35;

return (&k);

}