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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!