Top

Discussion

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);
}

 

  • A.0xffff
  • B.Garbage value
  • C.0xffee
  • D.Error

Answer: B

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.

No comment is present. Be the first to comment.
Loading…

Post your comment