形式参数什么时候可以改变实参?给个例子。

2024-11-29 23:34:09
推荐回答(4个)
回答1:

形参无法直接改变实参,只有通过指针来获得实参的存储地址。
然后通过地址来间接地对地址中实参的值进行操作。例如:

#include
fun(int *c)
{
*c=*c+1;
}
main()
{
int a=1;
fun(&a);
printf("%d",a);
}

本例中主函数 main() 将 a 的地址赋给了自定义函数 fun()

然后自定义函数 fun() 通过对取 a 的地址中的值并加 1

最后又存储到 a 的地址中,实现了对实参 a 的改变!

回答2:

形参 实参
不明白 此参彼参一样哇

参数什么时候即可以是形参也可以是实参

不过话说回来,C里全部都是形参,没有实参

传指针的话,指针本身还是以形参方式出现,只不过提供一个地址让你可以修改罢了

回答3:

你指C语言?形参不可能改变实参。C采用的是值传递,有去无回。如果你想间接实现,可以传指针进去。

回答4:

1. 使用引用传递或者指针传递的时候
void swap(int& a,int& b)
{
int c = a;
a = b;
b = c;
}