//-std=c99 -Wall -Wextra -Wpedantic -Wshadow #include #include int main() { int a = 1; printf("(1a): %d\n", a); { // warning: declaration of ‘a’ shadows a previous local int a = 2; //shadowed declaration is here int b = 2; // OK printf("(2a): %d\n", a); printf("(2b): %d\n", b); } printf("(3a): %d\n", a); { a = 3; int b = 4; printf("(4a): %d\n", a); printf("(4b): %d\n", b); } printf("(5a): %d\n", a); return 0; } /* output: (1a): 1 (2a): 2 (2b): 2 (3a): 1 (4a): 3 (4b): 4 (5a): 3 */