What does the following code write to the monitor?
#include <stdio.h>
int main( void )
{
int a = 1;
int b = 2;
printf("scope m: a=%d\tb=%d\n", a, b );
{
int b = 3;
printf("scope 1: a=%d\tb=%d\n", a, b );
{
int b = 4;
printf("scope 2: a=%d\tb=%d\n", a, b );
}
printf("scope 1: a=%d\tb=%d\n", a, b );
}
printf("scope m: a=%d\tb=%d\n", a, b );
return 0;
}
There are now three separate variables, each named b, declared
in three nested blocks.