What is the output of this C code?
static int x = 5;
void main()
{
x = 9;
{
int x = 4;
}
printf("%d", x);
}
Answer: A
Correct answer: 9
x = 9; assigns to the file-scope static variable, and the inner block’s int x = 4; declares a different variable that vanishes at the closing brace. So the printf, back outside, shows 9.
Please log in or register to report this question.