C Function Call By Value
# C Function Call by Value
[ C Functions](#)
The **call by value** method of passing arguments to a function copies the actual value of an argument into the formal parameter of the function. In this case, changes made to the parameter inside the function have no effect on the argument.
By default, C uses _call by value_ to pass arguments. In general, this means that code within a function cannot alter the arguments used to call the function. The function **swap()** is defined as follows:
/* Function definition */
void swap(int x, int y)
{
int temp;
temp = x; /* save the value of x */
x = y; /* put y into x */
y = temp; /* put temp into y */
return;
}
Now, let us call the function **swap()** by passing actual values:
## Example
#include
/* function declaration */
void swap(int x, int y);
int main ()
{
/* local variable definition */
int a = 100;
int b = 200;
printf("Before swap, value of a : %dn", a );
printf("Before swap, value of b : %dn", b );
/* calling a function to swap the values */
swap(a, b);
printf("After swap, value of a : %dn", a );
printf("After swap, value of b : %dn", b );
return 0;
}
When the above code is compiled and executed, it produces the following result:
Before swap, value of a : 100
Before swap, value of b : 200
After swap, value of a : 100
After swap, value of b : 200
The above example demonstrates that the values of a and b were not changed even though they were altered inside the function.
[ C Functions](#)
AI is thinking...
[](#)(#)
(#)[](#)
[ByteArk Coding Plan supports major LLMs like Doubao, GLM, DeepSeek, Kimi, MiniMax, with official direct supply for stable and reliable service. Configuration Guide Β₯9.9/month Subscribe Now](https://maas.xfyun.cn/modelSquare?ch=maas_lm_l2E)
YouTip