engineering recuitment GATE CSE 2023-24 Test Series Compiler Design Run Time Environment Parameter Passing
What will be the output of the following program for call by name and copy restore parameter passing mechanism respectively?
Void func(int a, int b)
{
a=a+b;
b=a+b;
a=b-a;
b=a-b
}
main()
{
int j, i=4;
Int array[10]={1,2,3,4,5,6,7,8,9,0};
func(i, array[i]);
for(j=0;j<10;j++)
printf(“%d”, array[j]);
}1
Call by name: -1 2 3 4 5 6 7 8 9 9 Copy restore: 1 2 3 4 -9 6 7 8 9 0
2
Call by name: 0 2 3 4 5 6 7 8 9 0 Copy restore: 1 2 3 4 -9 6 7 8 9 0
3
Call by name: -1 2 3 4 5 6 7 8 9 9 Copy restore: 1 2 3 4 5 6 7 8 9 0
4
Call by name: 1 2 3 4 5 6 7 8 9 9 Copy restore: 1 2 3 4 -8 6 7 8 9 0