Why the output is not 10 or even 5??
void main()
{
    int a=10;
    goto here;
    {
    int a=5;
    here:
        printf("%i",a);
    }
}
output: Garbage Value
Why the output is not 10 or even 5??
void main()
{
    int a=10;
    goto here;
    {
    int a=5;
    here:
        printf("%i",a);
    }
}
output: Garbage Value
Because there are two a variables, the second shadows the first in the print statement. Since you skipped its initialization, the output is garbage.
Note it is a compiler error to skip past initialization in C++, in C you just get the uninitialized value as you have observed.
Also, it is int main(), not void main().
