栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

关于C/C++中函数参数传递的规则

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于C/C++中函数参数传递的规则

f(A,B,C);
在编译程序中,对函数参数传递的处理是由右向左进行的。
因此,先传递的是最右边的参数的值。这个结论在日常使用的时候其实也很难发现有什么具体的区别,但是在编译原理中或者一些偏向于理论的考试中这恰恰是最容易忽视的地方。
下面简单举例说明:
测试程序:

#include
#include
using namespace std;

int fun(int x,int y);
int main()
{
	int i=1;
	cout< 

在查看运行结果前可以自己猜一下运行结果的数值。

运行结果:

先传递二参,即i先进行自增,这是函数两个实参都变为了2,所以结果是4。

转换一下顺序再次进行比较:

#include
#include
using namespace std;

int fun(int x,int y);
int main()
{
	int i=1;
	cout< 

运行结果:3

这里先传二参,但是先传后增,所以在到一参的时候值还是1,传完后二参变2,所以结果为3.

用到的地方不多,但是在写C的编译器的时候关于这些语法需要注意一些。
这里也需要注意后增是在一次传值之后就会执行自增。前增是在进行一次传值前进行传值。

我觉得慢慢来,是一种诚意。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号