Scoping Example
#include <stdio.h>
int foo(int);
int main(void)
{
int x;
x = foo(2);
x = foo2(2);
x = foo3(2);
return (0);
}
int foo2(int a)
{
int x, y;
x = foo(a);
y = foo3(a);
return(x * y);
}
int foo3(int a)
{
int x, y;
x = foo(a);
y = foo2(a);
return(x * y);
}
int foo(int a)
{
return (a * 45);
}
% cc scoping.c
% lint scoping.c
"scoping.c", line 10: warning: prototype for function foo2 is not in scope
"scoping.c", line 11: warning: prototype for function foo3 is not in scope
"scoping.c", line 11: warning: x set but not used in function main
"scoping.c", line 12: warning: main() returns random value to invocation
environment
"scoping.c", line 17: warning: mix of old and new style function declaration
"scoping.c", line 26: warning: mix of old and new style function declaration