Question: Consider the following skeletal C program: Given the following calling sequences and assuming that dynamic scoping is used, what variables are visible during execution of

Consider the following skeletal C program:

void funl (void); /* prototype */ /* prototype */ /* prototype */ void fun2 (void) ; void fun3 (void); void main () { int a, b, c; void funl (void) { int b, с, d; } void fun2 (void) { int c, d, e; } void fun3 (void) { int

Given the following calling sequences and assuming that dynamic scoping is used, 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 fun2; fun2 calls fun3.

b. main calls fun1; fun1 calls fun3.

c. main calls fun2; fun2 calls fun3; fun3 calls fun1.

d. main calls fun3; fun3 calls fun1.

e. main calls fun1; fun1 calls fun3; fun3 calls fun2.

f. main calls fun3; fun3 calls fun2; fun2 calls fun1.

void funl (void); /* prototype */ /* prototype */ /* prototype */ void fun2 (void) ; void fun3 (void); void main () { int a, b, c; void funl (void) { int b, , d; } void fun2 (void) { int c, d, e; } void fun3 (void) { int d, e, f;

Step by Step Solution

3.25 Rating (166 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Variable Where Declared a d e f fun3 c fun2 b fun1 a ... View full answer

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 Concepts of Programming Languages Questions!