"The value of the variable will remain the same which is already have when the sub-processor is called".
Explanation:
The above question said that:-
void fun(int a)
{
a=a+1;
}
void main()
{
int a=5;
fun(a);
}
//what will be the value of a in the main function after the fun function is excuted.
Then the answer is: the value of a will be 5 in the main function.
It is because when the fun function is called, then a variable that is defined in the fun function is a local variable for fun function. That scope after the fun function is null.
The a variable inside the fun function is a different variable and the main function a variable is also a different variable.
So when the user prints the value of a variable inside the fun function, it will give the result as 6.
But when he prints the value of a variable inside the main function, then it will give the value as 5.