卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章74219本站已运行436

C++ 函数如何传递和返回参数?

在 c++++ 中,函数可通过参数传递和返回值与外部交互。参数传递方式有值传递(传递副本)和引用传递(修改原始参数)。函数可使用 return 关键字返回指定类型的值。例如,计算阶乘的 factorial() 函数通过递归接受整数,并返回其阶乘。

C++ 函数如何传递和返回参数?

C++ 函数中的参数传递和返回值

在 C++ 中,函数可以通过传递参数和返回值与外部世界进行交互。一个参数是数据的一个值,当函数被调用时,它被传递给函数。函数随后可以使用此参数。返回值是数据的值,它在函数执行完成后被函数返回。

传递参数

立即学习“C++免费学习笔记(深入)”;

有两种基本方法可以向函数传递参数:

  • 值传递:在这种方法中,参数的一个副本被传递给函数。函数不能修改原始参数,因为它只有一份副本。
  • 引用传递:在这种方法中,对参数的引用被传递给函数。函数可以使用引用来修改原始参数。

以下示例演示了值传递和引用传递之间的区别:

// 值传递
void swap_by_value(int a, int b) {
  int temp = a;
  a = b;
  b = temp;
}

// 引用传递
void swap_by_reference(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}

int main() {
  int x = 10, y = 20;
  
  // 值传递
  swap_by_value(x, y);
  cout << "After swap_by_value: x = " << x << ", y = " << y << endl;  // 输出:x = 10, y = 20

  // 引用传递
  swap_by_reference(x, y);
  cout << "After swap_by_reference: x = " << x << ", y = " << y << endl;  // 输出:x = 20, y = 10
  
  return 0;
}

返回值

函数还可以使用 return 关键字返回一个值。返回的值的类型必须与函数的声明中指定的返回类型相匹配。

以下示例展示了如何返回一个值:

int sum(int a, int b) {
  return a + b;
}

int main() {
  int result = sum(10, 20);  // 调用 sum() 函数并存储返回值
  cout << "The sum is: " << result << endl;  // 输出:The sum is: 30
  
  return 0;
}

实战案例

考虑一个计算两个数字阶乘的函数。我们可以设计一个函数 factorial(),该函数接受一个正整数作为参数,并返回该数的阶乘。我们可以使用递归来实现此函数。

int factorial(int n) {
  if (n == 0) {
    return 1;
  } else {
    return n * factorial(n - 1);
  }
}

int main() {
  int number = 5;
  int result = factorial(number);
  cout << "The factorial of " << number << " is: " << result << endl;  // 输出:The factorial of 5 is: 120
  
  return 0;
}
卓越飞翔博客
上一篇: C++ 函数的变量作用域规则是什么?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏