#include <stdio.h>
void swap(int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}
void main()
{
int number1 = 10;
int number2 = 20;
printf("交换前的值 : \n");
printf("number1==%d\tnumber2=%d\n", number1, number2);
swap(number1,number2);
printf("交换前的值 : \n");
printf("number1==%d\tnumber2=%d\n", number1, number2);
}
为什么swap()函数没有能达到预期效果呢?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
hello_world&& 2022-11-16 23:15关注1.函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值反向地传递给实参;换句话说,一旦完成数据的传递,实参和形参就再也没有瓜葛了,所以,在函数调用过程中,形参的值发生改变并不会影响实参。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报