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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started