传值调用(pass by value) 示例
说明:以下代码为在函数中交换两个数,请分析主函数的输出结果。
#include <stdio.h>
void swap(int, int);
int main()
{
int a, b;
a = 10; b = 5;
printf(“交换前:a=%d, b=%d\n”, a, b);
swap(a, b);
printf(“交换后:a=%d, b=%d\n”, a, b);
}
void swap(int x, int y) //交换两个数
{
int t;
t = x; x = y; y = t;
printf(“函数内两个数的值为:a=%d b=%d\n”, x, y);
return ;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
分析:a和b的值虽然传递给了函数,并在函数中实现了交换,但并未影响到主函数中的a和b的值,其根本原因是a和b传递给swap函数的x和y时,是传值调用(pass by value)。
————————————————
版权声明:本文为CSDN博主「杨丰玉」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/frueyang/article/details/103084272