文章logo

函数的嵌套调用

C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。

图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。

【例】计算s=22!+32!

本题可编写两个函数,一个是用来计算平方值的函数f1,另一个是用来计算阶乘值的函数f2。主函数先调f1计算出平方值,再在f1中以平方值为实参,调用 f2计算其阶乘值,然后返回f1,再返回主函数,在循环程序中计算累加和。

long f1(int p)

{

int k;

long r;

long f2(int);

k=p*p;

r=f2(k);

return r;

}

long f2(int q)

{

long c=1;

int i;

for(i=1;i<=q;i++)

c=c*i;

return c;

}

main()

{

int i;

long s=0;

for (i=2;i<=3;i++)

s=s+f1(i);

printf("s=%ld",s);

}

在程序中,函数f1和f2均为长整型,都在主函数之前定义,故不必再在主函数中对f1和f2加以说明。在主程序中,执行循环程序依次把i值作为实参调用函数f1求i2值。在f1中又发生对函数f2的调用,这时是把i2的值作为实参去调f2,在f2 中完成求i2!的计算。f2执行完毕把C值(即i2!)返回给f1,再由f1返回主函数实现累加。至此,由函数的嵌套调用实现了题目的要求。由于数值很大,所以函数和一些变量的类型都说明为长整型,否则会造成计算错误。

vue函数如何调用其他函数?_C语言函数学习-函数的嵌套调用相关推荐

  1. c语言怎样获得函数内参数的值_C语言可变参数函数的实现原理

    在本人的<C语言可变参数函数的实现方法>一文中,介绍了如何建立自己的可变参数函数. 下面继续介绍可变参数函数的实现原理. 在汇编语言程序设计中,详细介绍了子程序的实现思想: (1)子程序只 ...

  2. python中可以使用变量来引用函数吗_如何在python语言中使用函数变量并调用函数...

    在python语言中,除了常规变量之外,还有函数变量.把函数本身赋值给变量,这个变量为函数变量. 工具/原料 python pycharm 截图工具 WPS 方法/步骤 1 在已新建的python文件 ...

  3. C++两个函数可以相互递归吗_C语言(7)- 递归

    (本文为原创,版权归作者所有) 递归(Recursion) 递归是一种计算方法,它的每一步计算都可以被分解为更小规模的相同的计算,因此一个问题可以通过不断重复的分解来解决.一个典型的例子是计算阶乘N! ...

  4. ios 调用c语言函数指针,第09天C语言(08):指向函数的指针的应用场景

    #pragma mark 指向函数的指针的应用场景 ###pragma mark 概念 ###pragma mark 代码 #include int sum(int v1,int v2) { retu ...

  5. c语言命令行参数怎么输入_C语言程序设计——这个函数原型你看懂了吗

    虽然过去了好多年,但我仍然清楚地记得自己第一次看到signal函数原型时的惊讶. 学习UNIX环境C编程的朋友都知道,信号是绕不过去的一道坎,而信号处理的第一重要函数就是signal(). 什么都不说 ...

  6. c语言gets,getc,C++_C语言的getc()函数和gets()函数的使用对比,C语言getc()函数:从流中读取字 - phpStudy...

    C语言的getc()函数和gets()函数的使用对比 C语言getc()函数:从流中读取字符头文件: #include 函数getc()用于从流中取字符,其原型如下: int getc(FILE *s ...

  7. python计算分段函数输出x+2的值怎么写_c语言求分段函数分段函数求解:输入 x ,计算并输出 y 的值:y=x+100 ( 当 x < 20) y= x ( 当...

    题目: c语言求分段函数 分段函数求解:输入 x ,计算并输出 y 的值: y=x+100 ( 当 x < 20) y= x ( 当 2 0 ≤ x ≤ 100) y=x-100 ( 当 x & ...

  8. 在c语言中 函数的作用是什么,C语言程序中函数的定义

    C语言程序中函数的定义 C语言的函数问题是困扰很多学者的问题的,c程序中什么是函数呢?下面啦小编为大家精心推荐的c程序中函数的定义,希望能够对您有所帮助. C语言读书笔记--函数 先来看看函数的一般形 ...

  9. C语言再学习 -- 函数

    一.函数概述 1.首先什么是函数? 函数是用于完成特定任务的程序代码的自包含单元. 2.为什么使用函数? 第一.函数的使用可以身故重复代码的编写.第二.函数使得程序更加模块化,有利于程序的阅读修改和完 ...

  10. C语言入门学习——函数的使用

    函数的概述 C 程序是由函数组成的,我们写的代码都是由主函数 main()开始执行的.函数是 C 程序的基本模块,是用于完成特定任务的程序代码单元. 从函数定义的角度看,函数可分为系统函数和用户定义函 ...

最新文章

  1. 山东财经大学python试卷_山东财经大学微观经济学试卷1及答案
  2. 精英讲师培训笔记02-培训师手势如何做
  3. ArcGIS Desktop开发基础(转)
  4. android 解决Date.gettimezoneoffset已经废弃
  5. mysql连接指定时区_MySQL创建JDBC连接时区问题
  6. dataframe修改数据_利用Python进行数据分析(语法篇)
  7. Vue.js 学习笔记 一
  8. python初体验(2)——面向对象篇
  9. Lecture 7:策略梯度
  10. ncverilog脚本_NC-Verilog控制命令
  11. 简单快捷 Lambda数组打印
  12. su室内插件_草图大师做室内需要用到那些插件
  13. 【Linux网络配置】
  14. html古风颜色代码,数字报纸HTML版本
  15. java设置excel不可编辑不可复制
  16. 串的模式匹配python
  17. Camunda流程引擎 Modeler (二)
  18. webpack打包工具不会用,那是因为你没看过这篇
  19. 《Automated Spatial Calibration of HMD Systems with Unconstrained Eye-cameras》论文阅读
  20. Android商城开发----viewPager实现广告轮播(在首页Fragment中实现)

热门文章

  1. android app攻击与防范论文,基于Android平台的应用程序安全保护研究与应用
  2. php微信回复乱码,php版本微信公众平台回复乱码问题解决方法
  3. HighCharts中几种tooltip的显示格式
  4. Python数据分析之一元线性回归
  5. Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)
  6. aptana 代码折行
  7. .Net Attribute特性
  8. 网络运维在经济危机中茁壮成长
  9. VBNET的一些特殊能力
  10. .Net中委托的协变和逆变详解