【摘要】:C语言不允许函数嵌套定义,但允许函数嵌套调用。也就是说,在执行被调函数时,系统允许被调函数调用其他函数,这与其他语言的子程序嵌套调用情形类似。分析:我们可以把这个问题分成3个小问题,用f1函数计算n的k次方;用f2函数计算1到n的k次方之累加和;用主函数main函数来完成输入输出功能。这样逐一解决以简化程序。
5.3.1 函数的嵌套调用
C语言不允许函数嵌套定义,但允许函数嵌套调用。也就是说,在执行被调函数时,系统允许被调函数调用其他函数,这与其他语言的子程序嵌套调用情形类似。
例5.8
程序如下:
上述程序中函数嵌套调用执行过程如图5-5所示。
图5-5
其执行过程如下:
①从main函数开始执行程序;
②遇到调用函数f1的操作语句,流程转去执行f1函数;
③执行f1函数的开头部分;
④遇到调用函数f2的操作语句,流程转去执行f2函数;
⑤执行f2函数,在f2函数中,没有再嵌套其他的函数,则完成f2函数的全部操作;
⑥返回到调用f2函数处,即返回到f1函数;
⑦执行f1函数中的后续语句,直到f1函数结束;
⑧返回到调用f1函数处,即返回到main函数;
⑨执行main函数的后续语句,直到程序结束。
例5.9 试编程,计算s=1k+2k+3k+…+nk。
分析:我们可以把这个问题分成3个小问题,用f1函数计算n的k次方;用f2函数计算1到n的k次方之累加和;用主函数main函数来完成输入输出功能。这样逐一解决以简化程序。
程序如下:
程序运行结果如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。