let us examine each of these three steps in turn passing argumentsfor parameter in ca copy of the argument is made locally within the functionand any changes to the parameter are made to that local copy the effect to this scheme is that the original input argument cannot be altered in this methodstorage for the argument is allocated within the data area of the function allocating and initializing local variablesafter arguments have been passedthe local variables of the function are allocated these local variables include all those declared directly in the function and any temporaries that must be created during the course of execution transferring control to the functionat this point control may still not be passed to the function because provision has not yet been made for saving the return address if function is given controlit must eventually restore control to the calling routine by means of branch howeverit cannot execute that branch unless it knows the location to which it must return since this location is within the calling routine and not within the functionthe only way that the function can know this address is to have it passed as an argument this is exactly what happens aside from the explicit arguments specified by the programmerthere is also set of implicit arguments that contain information necessary for the function to execute and return correctly chief among these implicit arguments is the return address the function stores this address within its own data area when it is ready to return control to the calling programthe function retrieves the return address and branches to that location once the arguments and the return address have been passedcontrol may be transferred to the functionsince everything required has been done to ensure that the function can operate on the appropriate data and then return to the calling routine safely notes return from function when function returnsthree actions are performed firstthe return address is retrieved and stored in safe location secondthe function' data area is freed this data area contains all local variables (including local copies of arguments)temporariesand the return address finallya branch is taken to the return addresswhich had been previously saved this restores control to the calling routine at the point immediately following the instruction that initiated the call in additionif the function returns valuethat value is placed in secure location from which the calling program may retrieve it usually this location is hardware register that is set-aside for this purpose task discuss maze problem simulation of factorial let us look at the factorial function as recursion example we present the code for that functionincluding temporary variables explicitly and omitting the test for negative inputas followsint fact(int nint xyif ( = return( ) -ly fact( )lovely professional university