Home » C Programming » Memory Allocation

What will be the output of the program? #include #include int main() { char *s; char *fun(); s = fun(); printf("%s\n", s); return 0; } char *fun() { char buffer[30]; strcpy(buffer, "RAM"); return (buffer); }

Correct Answer: Garbage value

Explanation:

The output is unpredictable since buffer is an auto array and will die when the control go back to main. Thus s will be pointing to an array , which not exists.

Next Question→

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion