** sorry, this is a basic question, but couldn't find the answer on Google **
In the following code, is it guaranteed that the "number" variable will point to the same value as assigned in the "f" function? Because I have the idea that "n" will be destroyed, so "i" will point to a random place, but when I run this code, it prints the right value.
Code:#include <stdio.h> int *f() { int *i; int n = 15; i = &n; return i; } int main() { int *number; number = f(); printf("%d", *number); return 0; }