C语言程序设计 函数的嵌套调用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
… 调用 fun1()函数 … }
fun1() {
… 调用 fun2()函数 … return; }
Biblioteka Baidu
图 4-6 函数嵌套调用的执行过程
fun2() {
… … return ; }
函数嵌套调用的执行过程是:程序从 main()函数开始执行,遇到调用 fun1()的语句时, 就转去执行 fun1() 函数,执行 fun1()时遇到调用 fun2()的语句,再转去执行 fun2()函数, 在 fun2()函数中遇到 return 语句,则返回到调用函数 fun1()中调用 fun2()语句处接着执 行 fun1()的其他语句,遇到 return 语句再返回到调用函数 main()函数中调用 fun1()语句 处继续执行,主函数执行完后整个程序就执行完了。
/*程序名:4_10.c*/
/*功能: 用嵌套求阶层 1!+2!+3!+……n!的和*/
n 的阶层可能超出整型范围,所以存放阶层的变量以及函数返回值要定义为长整型的。
4.5 函数的嵌套调用
在主函数之外,其它函数之间也可以建立调用关系。这就存在着函数之间分层调用的关 系,连续起来看,就是在调用一个函数的过程中,又在调用另一个函数,这是各种语言规则 允许的,其调用方式被称为嵌套调用。C 语言不允许嵌套定义函数,而允许嵌套调用。嵌套 调用如图 4-5 所示:
main() {
【例 4-10】用函数嵌套计算 1!+2!+3!+……n!。 程序设计思路:本程序需要定义两个函数,一个是求 n!的函数 fac(),用来某个整数的 阶层,一个是求和函数 sumofFac(),循环调用 n 次 fac()函数求用来求和。主函数中输入一 个整数 n,调用 sum()函数求阶层的和。完整程序如下:
fun1() {
… 调用 fun2()函数 … return; }
Biblioteka Baidu
图 4-6 函数嵌套调用的执行过程
fun2() {
… … return ; }
函数嵌套调用的执行过程是:程序从 main()函数开始执行,遇到调用 fun1()的语句时, 就转去执行 fun1() 函数,执行 fun1()时遇到调用 fun2()的语句,再转去执行 fun2()函数, 在 fun2()函数中遇到 return 语句,则返回到调用函数 fun1()中调用 fun2()语句处接着执 行 fun1()的其他语句,遇到 return 语句再返回到调用函数 main()函数中调用 fun1()语句 处继续执行,主函数执行完后整个程序就执行完了。
/*程序名:4_10.c*/
/*功能: 用嵌套求阶层 1!+2!+3!+……n!的和*/
n 的阶层可能超出整型范围,所以存放阶层的变量以及函数返回值要定义为长整型的。
4.5 函数的嵌套调用
在主函数之外,其它函数之间也可以建立调用关系。这就存在着函数之间分层调用的关 系,连续起来看,就是在调用一个函数的过程中,又在调用另一个函数,这是各种语言规则 允许的,其调用方式被称为嵌套调用。C 语言不允许嵌套定义函数,而允许嵌套调用。嵌套 调用如图 4-5 所示:
main() {
【例 4-10】用函数嵌套计算 1!+2!+3!+……n!。 程序设计思路:本程序需要定义两个函数,一个是求 n!的函数 fac(),用来某个整数的 阶层,一个是求和函数 sumofFac(),循环调用 n 次 fac()函数求用来求和。主函数中输入一 个整数 n,调用 sum()函数求阶层的和。完整程序如下: