First CallCode:#include<stdio.h> void foo () { static int i = 0; printf("i = %d \n", i); i = 1; printf("i = %d \n", i); i = 2; printf("i = %d \n", i); i = 3; printf("i = %d \n", i); } int main () { foo (); printf("\n"); foo (); return 0; }
i = 0
i = 1
i = 2
i = 3
Second Call
i = 3
i = 1
i = 2
i = 3
because of static keyword i become equal to 3. exactly. When code run what happen in program ?