Question: Consider the following skeletal C program: void fun1(void); void fun2(void); void fun3(void); void main(void) { int a, c, f; ... } void fun1(void) { int
Consider the following skeletal C program:
void fun1(void);
void fun2(void);
void fun3(void);
void main(void) {
int a, c, f;
...
}
void fun1(void) {
int b, d, e;
. ...
}
void fun2(void) {
int a, b, c;
. ...
}
void fun3(void) {
int d, e, f;
... }
Assume that dynamic scoping of variables is used (which is not the case for the real C!!!). For each of the following calling sequences (a) - (f), what variables are visible during execution of the last function called? Include with each visible variable the name of the function in which it was defined.
(a): main calls fun1, fun1 calls fun3, fun3 calls fun2 (b): main calls fun1, fun1 calls fun2 (c): main calls fun2, fun2 calls fun1, fun1 calls fun3 (d): main calls fun2, fun2 calls fun2 (e): main calls fun1, fun1 calls fun2, fun2 calls fun3 (f): main calls fun3, fun3 calls fun3, fun3 calls fun2
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
