函数调用是启动对一个函数的执行。当一个函数调用另一个函数时,调用者称为主调函数,被调用者称为被调函数。
发生函数调用时,流程从主调函数跳转至被调函数,如果函数有参数,则伴随着实参对形参的传值;然后执行被调函数的函数体。当被调函数执行完毕后,流程又从被调函数跳转回主调函数,如果函数有返回值,此时将返回值带回主调函数。
函数调用的一般格式为:
无参函数调用时没有实参表。实参表中的参数可以是常量、变量或其他构造类型数据以及表达式。各实参之间用逗号分隔。
说明:
(1)函数调用时的参数称为实参。在函数调用时,应注意区分实参与形参,表7-1是对二者的比较。
表7-1 实参和形参的比较
(2)函数调用时,应注意与函数定义的一致性要求。首先是函数名必须保持一致;其次是实参必须与对应位置的形参保持一致;应注意参数的个数、类型、顺序一致性;最后是返回值的一致性,如果函数定义为无返回值类型,则函数调用只能以独立语句的形式出现。
例7.3 从键盘输入两个整数存入变量x,y中,输出x的y次方的值。
解题思路:
同一个问题,可以有多种实现的方法。为了让读者更清楚地理解在函数创建时参数和返回值的设计,本问题根据子函数是否有参数、是否有返回值,使用4种方法定义求x的y次方的子函数powFun( ) 。
编写程序:
方法1:子函数有参数、有返回值。
创建一个名为“eg7_3_1.c”的新文件,在编辑窗口中输入下面的程序代码。
(www.daowen.com)
方法2:子函数有参数、无返回值。
创建一个名为“eg7_3_2.c”的新文件,在编辑窗口中输入下面的程序代码。
方法3:子函数无参数、有返回值。创建一个名为“eg7_3_3.c”的新文件,在编辑窗口中输入下面的程序代码。
方法4:子函数无参数、无返回值。
创建一个名为“eg7_3_4.c”的新文件,在编辑窗口中输入下面的程序代码。
运行结果:
4种方法分别运行,运行结果都相同,如下图所示。
程序说明:
对于powFun()函数的4种定义方法的详细比较如表7-2所示。
表7-2 powFun( )函数的4种定义方法的比较
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。