Find out the correct statement for the following program.
#include "stdio.h" int * gPtr;
int main()
{ int * lPtr = NULL;
if (gPtr == lPtr)
{
printf ( "Equal!" );
}
else
{
printf ( "Not Equal" );
}
return 0;
} |
(A) It’ll always print Equal.
(B) It’ll always print Not Equal.
(C) Since gPtr isn’t initialized in the program, it’ll print sometimes Equal and at other times Not Equal.
Answer: (A)
Explanation: It should be noted that global variables such gPtr (which is a global pointer to int) are initialized to ZERO. That’s why gPtr (which is a global pointer and initialized implicitly) and lPtr (which a is local pointer and initialized explicitly) would have same value i.e. correct answer is a.
Quiz of this Question