函数返回值和形参

函数包括了除函数名以外还有返回值和形参。
  这个形参包括了传入参数和传出参数;
  传入参数:就是数值的传递。在函数中不会修改这个参数,不会修改调用这个函数的函数的值。
  例如
  void exchange(int a,int b)
{
   int temp;
   temp = a;
   a = b;
   b = temp;
}
  int main ()
{
    int a =4;
    int b = 5;
    exchange(a,b);
    printf("a = %d\n b = %d\n",a,b);

    return 0;
}
   输出的结果是
   a = 4;
   b = 5;
   这是传参,仅仅是一个数值的传递。
   在调用exchange函数的时候,空间也分配了另一个a,b变量名的空间,在exchange在调用完的时候,空间释放。
   exchange函数里面的a,b和主函数里面的啊a,b的空间是不一样的。仅仅是名字一样而已。
   例子:这个村子你叫张三,隔壁的村子也有一个叫张三。有一天隔壁的张三家里面有喜事,而不是你家有喜事。
   根本就是两码事。
   传出参数,一般传递的是地址。
   例如上面这个例子,怎么讲a,b在exchange里面改变呢。
   void exchange(int *a,int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
  这时候传递的变量的地址。在函数调用的时候也是创建显得空间,只不过这片空间记载的是实参的地址。
  正真在运行的时候通过地址找到实参的空间,将里面的数值改变。
  还是上面张三为例。有喜事那家发出请柬,标明哪个村的张三家。那么去赴宴的人,按照家的地址去赴宴。
  在需要改变指针变量的时候,需要传入的是指针的指针,也就是指针变量那片空间的地址。
  一个函数如何返回多个值:
  1.就是利用传出参数,来记载返回值。
  2.返回一个数组。
  3.返回一个结构体

在编程中,我们经常需要将计算结果从一个函数传回到主程序或者其他部分。这通常是通过函数返回值完成的。让我们以 Python 为例来进行说明。 ### 示例:计算两个数的返回结果 假设我们要创建一个名为 `add_numbers` 的函数,该函数接收两个参数,然后返回它们的。下面是如何定义这样一个函数: ```python def add_numbers(x, y): # 计算 x + y result = x + y # 将计算的结果作为返回值返回 return result ``` 在这个例子中,`result` 变量存储了两数相加的结果。`return` 关键字用于将这个结果从函数内部带回外部调用的地方。 ### 如何调用此函数并获取返回值 你可以像这样调用 `add_numbers` 并打印出结果: ```python # 调用函数 sum_result = add_numbers(3, 5) # 打印结果 print(sum_result) ``` 在这个示例中,当调用 `add_numbers(3, 5)` 时,函数内部将执行 `x + y` 的运算并将结果 8 返回给调用者。然后我们将这个返回值赋给了变量 `sum_result`。最后,我们使用 `print` 函数来显示返回的值。 ### 形式化参数返回值的关系 实际上,“形式参数”(即函数定义中列出的参数)主要用于定义函数在运行时接收到的信息,而“实际参数”是在函数调用时提供的具体值。函数的“返回值”则用于将计算过程或功能结果传达回调用者。因此,形式参数负责接收信息,实际参数提供信息,而返回值则负责输出或报告结果。 ### 相关问题: 1. 在哪种情况下不需要使用返回值? 2. 除了返回值外,还有哪些方法可以向其他函数或程序组件传递数据? 3. 如果一个函数没有任何返回值,那么应该怎样定义它的返回类型?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值