Local copy of Block will get Higher Priority than Global Copy of Variable.

#include<stdio.h>
void main()
{
    int num = 20;
    {
        int x = 30 ;
        printf("%d ",num);
    }
    printf("%d ",num);
    return(0);
}

Output :

30 20

Explanation :

Consider the following inner block -

{
int x = 30 ;
printf("%d ",num);
}

Inner variable x is local variable of inner block. Though the variable have global copy, first priority is given to the local copy of the block. As soon as the block ends the local copy will be destroyed.

printf("%d ",num);
    return(0);