首页 理论教育C语言程序设计第2版:函数嵌套调用详解

C语言程序设计第2版:函数嵌套调用详解

【摘要】:C语言中所有函数的定义都是平行的,也就是说,不能在函数定义中再定义其他函数。但是C语言允许在函数定义中再调用其他函数,这就是函数的嵌套调用。本例可编写两个函数,一个是用来计算平方值的函数f1(),另一个是用来计算阶乘值的函数f2()。图5.4函数的嵌套调用函数的嵌套调用使程序形成了一种自顶向下树型结构,如图5.5所示。一个C语言程序通常不是由少数几个大函数组成,而是由许许多多小函数组成。

C语言中所有函数的定义都是平行的,也就是说,不能在函数定义中再定义其他函数。但是C语言允许在函数定义中再调用其他函数(比如说函数a调用函数b,而函数b又调用函数c),这就是函数的嵌套调用。

例5.13 计算22!+32!+42!。

本例可编写两个函数,一个是用来计算平方值的函数f1(),另一个是用来计算阶乘值的函数f2()。

在本程序中,主函数main()先调用f1()函数计算出平方值;再在f1()函数中以平方值为实参,调用f2()函数计算其阶乘值;然后返回f1()函数,再返回主函数。这种函数调用套函数调用的结构如图5.4所示。

(www.chuimin.cn)

图5.4 函数的嵌套调用

函数的嵌套调用使程序形成了一种自顶向下树型结构,如图5.5所示。

图5.5 程序的树型结构

也就是说,C程序总是从main()函数开始执行,在main()函数中往往需要调用其他函数,而这些函数又可以调用另一些函数。通过这样的形式,我们可以用自顶向下,逐步求解的方法编写程序:在顶层只考虑做什么,在需要的地方写一个函数调用,而把函数实现放到。同样在定义一个被调函数时也采用同样的办法,把更细的实现放到更下层的函数中,直到一个函数只完成简单、单一的功能为止。这种结构的程序更易于阅读理解,更容易保证正确性,也更容易维护和修改。一个C语言程序通常不是由少数几个大函数组成,而是由许许多多小函数组成。