理论教育 函数参数传递的正确使用方法及调试工具推荐

函数参数传递的正确使用方法及调试工具推荐

时间:2023-10-19 理论教育 版权反馈
【摘要】:在调用max函数时,要写出正确的函数名,函数名后要紧跟一对小括号,在小括号内部写内容,这里函数名小括号内的内容称为实际参数列表,简称实参列表。这个过程称为函数的参数传递。2)CPU会执行max函数体的内容。建议读者把此程序输入到S041项目的main.c中,编译后在MPLAB中通过调试工具Proteus VSM来单步执行此程序,认真学习函数的定义和调用过程。要求读者能准确地说出函数的传参和调用过程。

函数参数传递的正确使用方法及调试工具推荐

一个函数定义完毕后就可以在其他函数中调用(也有书称之为引用或使用)。函数的调用形式如下所示。

978-7-111-33274-9-Chapter04-154.jpg

例如,对于max函数,一次可能的调用例子如下所示。

978-7-111-33274-9-Chapter04-155.jpg

在调用max函数时,要写出正确的函数名(严格区分大小写),函数名后要紧跟一对小括号,在小括号内部写内容,这里函数名小括号内的内容称为实际参数列表,简称实参列表。C语言要求实参列表中参数的个数必须与形参完全一致,类型也要兼容(大多数情况下要求类型一致)。本例中第一个实参是1,第二个实参是4,当程序执行到max(1,4);时,会把实参列表的值依次传递给形参列表的变量。这个过程称为函数的参数传递。

通过以上max函数的调用例子,说明函数的调用过程。

1)当程序执行max(1,4)时,会把1传递给max中的Number1,把4传递给max函数中的Number2。

2)CPU会执行max函数体的内容。由于if后的条件表达式Number1>Number2(现在等价于1>4)不成立,所以程序会跳过“reutrnNumber1;”,去执行else后的“return Number2;”,即函数返回的值为Number2,也就是4。

3)由于函数的值是4,所以在调用例子中“Data=max(1,4);”执行完毕后Data就等于4了。(www.daowen.com)

以上是对一个有参函数执行过程的分析。建议读者把此程序输入到S041项目的main.c中,编译后在MPLAB中通过调试工具Proteus VSM来单步执行此程序,认真学习函数的定义和调用过程。

【例4-21】在MPLAB中,使用Proteus VSM调试工具单步执行以下程序。要求读者能准确地说出函数的传参和调用过程。所用硬件电路图为图4-1。

978-7-111-33274-9-Chapter04-156.jpg

设计过程

1)用MPLAB打开项目S041,把main.c内容改为例子所示。

2)将以上代码编译后用Proteus VSM单步运行一遍,然后查看D口显示的内容。

运行效果及分析

本例输出结果是VT2亮,其他都灭。这说明Data的值是4。读者可以把“max(1,4)”改为“max(8,4)”或其他数值,通过查看最终执行结果来验证程序的正确性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈