Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Pass by value and Pass by address- Write a program on C to complete the below gi

ID: 3735267 • Letter: P

Question

Pass by value and Pass by address-

Write a program on C to complete the below given code fragment

int main()

{

                int a = 10, b= 20;

                //print a and b values

                Func_Val(a,b);

                //print a and b values

                //print a, &a and *&a values

                //Func_Ref(&a,&b);

                //print a,&a and b,&b values

}

int Func_Val(int val_1,int val_2)

{

                //print val_1 and val_2 values

                val_1 = 50;

                val_2 = 60;

                //print val_1 and val_2 values

}

int Func_Ref(int *val_one,int *val_two)

{

                //print val_one and val_two values

                //print *val_one and *val_two values

                *val_one = 50;

                *val_two = 60;

                //print *val_one and *val_two values

}

Explanation / Answer

#include <stdio.h>

int main()
{
int a = 10, b= 20;
//print a and b values
printf(" value of a is %d and b is %d",a,b);

Func_Val(a,b);
printf(" value of a is %d and b is %d",a,b);
//print a and b values

//print a, &a and *&a values

printf(" value of a is %d and &a is %d and *&a is %d",a,&a,*&a);

Func_Ref(&a,&b);

//print a,&a and b,&b values
printf(" value of a is %d and &a is %d and b is %d and &b is %d",a,&a,b,&b);


}

int Func_Val(int val_1,int val_2)

{

//print val_1 and val_2 values
printf(" value of val_1 is %d and val_2 is %d",val_1,val_2);

val_1 = 50;

val_2 = 60;
printf(" value of val_1 is %d and val_2 is %d",val_1,val_2);
//print val_1 and val_2 values

}

int Func_Ref(int *val_one,int *val_two)

{

//print val_one and val_two values
printf(" value of val_one is %d and val_two is %d ",val_one,val_two);


//print *val_one and *val_two values
printf(" value of *val_one is %d and *val_two is %d",*val_one,*val_two);


*val_one = 50;

*val_two = 60;

printf(" value of *val_one is %d and *val_two is %d",*val_one,*val_two);


//print *val_one and *val_two values

}