C语言 中的 Call by value函数

首页 / C语言入门教程 / C语言 中的 Call by value函数

按值调用将参数传递给函数的方法将参数的实际值复制到函数参数中,在这种情况下,对函数内部参数所做的更改对参数没有影响。

默认情况下,C 编程使用按值调用来传递参数,通常,这意味着函数中的代码无法更改用于调用函数的参数。考虑函数swap()定义如下。

/* 交换值的函数定义 */
void swap(int x, int y) {

   int temp;

   temp=x; /* 保存 x 的值 */
   x=y;    /* 将 y 放入 x */
   y=temp; /* 将 temp 放入 y */
  
   return;
}

现在,让我们通过传递实际值来调用函数swap(),如以下示例-所示

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/c-programming/c-function-call-by-value.html

来源:LearnFk无涯教程网

#include <stdio.h>
 
/* 函数声明 */
void swap(int x, int y);
 
int main () {

   /* 局部变量定义 */
   int a=100;
   int b=200;
 
   printf("Before swap, value of a : %d\n", a );
   printf("Before swap, value of b : %d\n", b );
 
   /* 调用函数来交换值 */
   swap(a, b);
 
   printf("After swap, value of a : %d\n", a );
   printf("After swap, value of b : %d\n", b );
 
   return 0;
}

让我们将上述代码放在一个C文件中,编译并执行它,它将产生以下结果-

Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :100
After swap, value of b :200

它表明这些值没有变化,尽管它们在函数内部发生了变化。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

机器学习40讲 -〔王天一〕

技术管理实战36讲 -〔刘建国〕

Android开发高手课 -〔张绍文〕

NLP实战高手课 -〔王然〕

Redis核心技术与实战 -〔蒋德钧〕

Spark核心原理与实战 -〔王磊〕

网络排查案例课 -〔杨胜辉〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

好记忆不如烂笔头。留下您的足迹吧 :)