C语言 按值函数调用
在 C 语言中,函数可以按值调用(也称为传值调用)或按引用调用(也称为传引用调用)。
按值调用函数时,函数会使用参数的值进行计算,并在函数中对其进行修改不会影响原始值。
下面是一个按值调用的例子:
#include <stdio.h>
// 定义一个函数,输入两个整数并返回它们的和
int add(int a, int b) {
a++; // 修改 a 的值
b++; // 修改 b 的值
return a + b;
}
int main() {
int x = 2;
int y = 3;
int result = add(x, y);
printf("x = %d, y = %d, result = %d\n", x, y, result);
return 0;
}
在上面的例子中,我们定义了一个 add
函数,按值传递了两个整数 a
和 b
。在函数中,我们对这两个参数进行修改,但是函数返回的值不会修改原始值。在 main
函数中,我们定义了两个整数 x
和 y
,并将它们传递到 add
函数中。函数返回了 x
和 y
的和,我们将这个结果存储在一个名为 result
的变量中,并在终端输出打印 x
、y
和 result
的值。执行程序后,会输出以下结果:
x = 2, y = 3, result = 9
从结果中可以看出,虽然在 add
函数中对参数进行了修改,但是 main
函数中的变量 x
和 y
的值没有改变。
下面再来一个示例,这次我们定义了一个计算平方的函数 square
:
#include <stdio.h>
// 定义一个函数,输入一个整数并返回它的平方
int square(int n) {
return n * n;
}
int main() {
int x = 5;
int result = square(x);
printf("x = %d, result = %d\n", x, result);
return 0;
}
在这个例子中,我们定义了一个 square
函数,按值传递了一个整数 n
。在函数中,我们计算了 n
的平方并返回。在 main
函数中,我们定义了一个整数 x
,将它传递给 square
函数,并将函数返回值存储在变量 result
中。在终端输出中打印 x
和 result
的值。执行程序后,会输出以下结果:
x = 5, result = 25
从上面两个示例可以看出,按值调用函数时,会使用原始参数值进行计算,并不会修改原始值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 按值函数调用 - Python技术站