【摘要】:形参在函数首部定义,必然是变量形式,只能在该函数体内使用。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。调用结束,返回主调函数后,则不能再使用该形参变量。
1.形参与实参的参数传递
函数的参数分为形参和实参两种,作用是实现参数传送。形参在函数首部定义,必然是变量形式,只能在该函数体内使用。实参在主调函数的函数调用表达式中提供,可以是表达式形式,函数调用时,主调函数把实参的值复制一份,传送给被调用函数的形参变量,从而实现主调函数向被调用函数的参数传递。
【例6.8】编写程序,计算的值。
程序运行情况如下:
本例程序中定义了一个fact()函数,计算n!的值。main()函数通过for循环语句在循环体内调用fact()函数,并将实参k的值传递给形参变量n,对fact()函数的返回值求和,存入变量s中。
2.说明(www.xing528.com)
(1)实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此,应预先用赋值、输入等办法,使实参获得确定的值。
(2)形参变量只有在被调用时,才分配存储单元;调用结束时,即刻释放所分配的存储单元。因此,形参只有在该函数内有效。调用结束,返回主调函数后,则不能再使用该形参变量。
(3)实参对形参的数据传送是单向的值传递,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。如下面程序所示。
程序运行结果如下:
上面程序中,main()函数调用swap()函数,并将实参a和b的值分别传递给形参x和y,在swap()函数中交换了x和y的值,main()函数中a和b的值并未发生变化。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。