#include int j = 42; void func3() { int i = 11, j = 999; printf("\t\t\t[in func3] i = %d, j = %d\n", i, j); } void func2() { int i = 7; printf("\t\t[in func2] i = %d, j = %d\n", i, j); printf("\t\t[in func2] setting j = 1337\n"); j = 1337; func3(); printf("\t\t[back in func2] i = %d, j = %d\n", i, j); } void func1() { int i = 5; printf("\t[in func1] i = %d, j = %d\n", i, j); func2(); printf("\t[back in func1] i = %d, j = %d\n", i, j); } int main(int argc, const char *argv[]) { int i = 3; printf("[in main] i = %d, j = %d\n", i, j); func1(); printf("[back in main] i = %d, j = %d\n", i, j); return 0; }