/* Compile with * gcc -o Prog1 -ansi -pedantic -Wall Prog1.c */ #include int V = 3 ; int F01(int V) { /* int V ; * !Previous declaration would be illegal! */ printf("In F01 -- V is %d or %08x\n", V, V) ; V = 5 ; { int V = 6 ; printf("In F01 block -- V is %d or %08x\n", V, V) ; } printf("In F01 -- V is %d or %08x\n\n", V, V) ; if (V==0) { int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t , u, V; puts("In the block with all the variables\n") ; } return 0 ; } int F02(int V) { printf("In F02 -- V is %d or %08x\n\n", V, V) ; return 0 ; } /* old fashioned */ int F03(V) int V ; { printf("In F03 -- V is %d or %08x\n\n", V, V) ; return 0 ; } /* more old fashioned */ int F04(V) { printf("In F04 -- V is %d or %08x\n\n", V, V) ; return 0 ; } /* downright archaic -- gets a warning */ F05(V) { printf("In F05 -- V is %d or %08x\n\n", V, V) ; return 0 ; } int main(int argc, char **argv) { int a ; printf("In main -- V is %d or %08x\n\n", V, V) ; F01(4) ; printf("In main -- V is %d or %08x\n\n", V, V) ; a = 7 ; F01(a) ; F03(8) ; F04(9) ; F02((int)9.1) ; F03((int)9.2) ; F04((int)9.3) ; /* You should not do this */ F02(9.4) ; F03(9.5) ; F04(9.6) ; F02(9.7f) ; F03(9.8f) ; F04(9.9f) ; F02('9') ; F03('9') ; F04('9') ; return 0 ; }