What does the following write to the monitor?
#include <stdio.h>
static int x = 44;
void foo()
{
int j = 0, x = 0;
{
static int x = 100;
printf(" inner x: %d\n", x );
x++ ;
}
printf(" outer x: %d\n", x );
}
void main()
{
int x;
for ( x=10; x<15; x++ )
{
printf("main x: %d\n", x );
void foo();
}
}
This puzzle involves a number of scoping rules and linkage rules.
As always, try to figure out how many varialbes x there are and where they can be seen.