What is the output of this C code?
int x = 5;
void main()
{
int x = 3;
printf("%d", x);
{
int x = 4;
}
printf("%d", x);
}
Answer: A
Correct answer: 3 3
Here the inner int x = 4; is a declaration, so it creates a new variable that shadows the outer one for the length of the block and then disappears. main’s own x is untouched, and both printf calls show 3.
Please log in or register to report this question.