永发信息网

在C语言中,函数的形参与实参之间的值传递是什么意思?函数调用时如主函数中为swap(a,b),而从函数为

答案:2  悬赏:30  手机版
解决时间 2021-03-16 14:22
  • 提问者网友:你给我的爱
  • 2021-03-15 18:56
在C语言中,函数的形参与实参之间的值传递是什么意思?函数调用时如主函数中为swap(a,b),而从函数为
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-03-15 20:08
以int 型举例


void Swap(int *a, int * b)
{
    int temp = *a;
   *a = *b;
 *b = temp;
}
void Swap1(int a, int b)
{
    int temp = a;
   a =b;
    b = temp;
 
}Swap(int *, int *);称之为实参 实际传递的是 a和 b 的地址 啊 , 在调用a与b 的值(*a)使用的是原来的数 下面的  x,y; a , b 的值是x与y 的内存地址
swap1(int ,int); 称之为形参 实际传递的是 a 和b 的值,这里的a和b 与xy没关系, 只是x与y 的一个副本。
int swap_test()
{
    int x,int y;
    x = 3; y = 5;
    
    Swap(&x,&y);
    //此时x = 5; y = 3;
    Swap1(x,y);
     //此时x = 5; y = 3;
     
     return 1;
}
全部回答
  • 1楼网友:拾荒鲤
  • 2021-03-15 21:36
每个函数 会给变量 重新做一个副本 比如
int a,b;
void wap(int a,int b); 可以用 wap( & a,& b) 取 a,b 的地址 传递 这样不会创建新变量
{
......
}
void wap (int a,int b) // 这里a,b 的地址和全局main的 a,b地址不同 只是一个副本 修改是不会影响主函数
{
a=a+b;
b = a - b;
a = a - b;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯