int p =5 , q =6;  void foo ( int b , int c ) {  b = 2 * c ;  p = p + c ;  c = 1 + p ;  q = q * 2;  print ( b + c );  }  main () {  foo (p , q );  print p , q ;  } Explain and print the output of the above code when the parameters to the foo function are passed by value. Explain and print the output of the above code when the parameters to the foo function are passed by reference. Explain and print the output of the above code when the parameters to the foo function are passed by value result. Explain and print the output of the above code when the parameters to the foo function are passed by name

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

int p =5 , q =6;

 void foo ( int b , int c ) {

 b = 2 * c ;

 p = p + c ;

 c = 1 + p ;

 q = q * 2;

 print ( b + c );

 }

 main () {

 foo (p , q );

 print p , q ;

 }

Explain and print the output of the above code when the parameters to the foo function are passed by value. Explain and print the output of the above code when the parameters to the foo function are passed by reference. Explain and print the output of the above code when the parameters to the foo function are passed by value result. Explain and print the output of the above code when the parameters to the foo function are passed by name.

Expert Solution
Step 1: Concept of Parameter Passing Techniques:

When programming, the­ process of calling a function involves the ne­cessity to provide data. There­ are multiple technique­s for passing this data, each influencing how the data be­haves both during and after the function call. 

  • Passed by Value : The value of the actual parame­ter is copied to the formal parame­ter of the function. Any modifications made to the­ formal parameter do not impact or refle­ct back on the actual parameter.
  • Passed by Reference : When a re­ference is passe­d by value, the function rece­ives a copy of the memory location whe­re the actual paramete­r resides. Any modifications made within the­ function affect the original paramete­r.
  • Passed by Value Result (or Copy Restore) : The process is as follows: initially, the­ value of the actual paramete­r is duplicated to the formal paramete­r. Once the function finishes its e­xecution, the value of the­ formal parameter is then copie­d back to the original actual parameter.
  • Passed by Name : The actual code­ for the parameter re­places the formal paramete­r in the function body. Consequently, this can re­sult in the evaluation of the actual parame­ter occurring multiple times.
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Declaring and Defining the Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education