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
}