问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于C语言里的函数嵌套调用的问题?

发布网友 发布时间:2022-04-01 17:38

我来回答

2个回答

热心网友 时间:2022-04-01 19:07

先看
fun(a+
)
里面
fun(d)
d是全局变量
值为1
再看fun(1)
把1传给fun的形参p
进入fun
p
为1
fun内有
局部静态变量d
初值为5
d+=p
使之
变为6
输出d
(局部变量,全局变量名也是b被屏蔽,因此这个d是fun内的局部变量d)
所以输出6
return
返回6
fun(1)返回6
fun(a+6)
a是3
3+6的值9
传给fun的形参p
这是第二次调用fun函数
p为
9
由于d是
静态局部变量
故再次调用fun函数
其中为上一次调用保留的值6
d+=p
使之
变为15
fun函数内
输出
静态局部变量d的值15
fun(9)返回15
返回的15给main函数的printf输出
有输出15
所以是
61515

热心网友 时间:2022-04-01 20:25

先对主函数内输出语句中的fun(d)求值(这里的d是全局变量d=1),fun里的静态局部变量d变成5+1=6,屏幕上输出6,返回值也是6。
再对fun(a+6)求值,即fun(9),fun里静态局部变量d变成6+9=15,屏幕上输出15,返回值也是15。
最后执行主函数里的打印,相当于printf("%d\n",15);,输出15。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
猫咪丢了之后心里很难过,然后男友担心我就重新去领养了一只小花猫,可是... 有关名侦探柯南黑暗组织!! qq上删除的好友怎么找回来,六个月以上的。只要能找到QQ号就行,我可以... 六个月内删掉的qq好友能找回吗? 急!!因欠费而停机的手机能收到短信吗 手机关机之后停机信息是否可以收到 手机欠费后冲了钱但还是欠费会收到短信吗 手机停机了,包月的流量没用完,能收到微信吗? 德州到潍坊用不用隔离? 南都周刊2011年有一篇社论≪躺在时间的河流上怀念他们≫写得很棒... 如何填写上报学生的户籍地、家庭常住地、户籍地教育主管部门地址? 奶枣的制作比例 刑事拘留期限计算怎么算 学籍表上的户口所在地怎么 填的啊 一切从零开始,新手如何学期货 刑事拘留时间从什么时候开始算 “户籍地址”怎么填? 刑事拘留刑期如何计算 学生户籍所在地社区怎么填 自媒体新人如何从0开始学做自媒体 刑事拘留的时间怎么算? 学生户籍地怎么填写? 新手如何从零开始写作 刑事拘留时间怎么计算? 中小学生转学申请登记表里的户籍所在地怎样填写 刑事拘留起算点的时间是怎么算的 新手如何从零开始学软件编程技术? 学生基本信息表:现住址、通讯地址、家庭地址怎么填? 刑事拘留时间怎么计算的 小学生的户籍所在地怎么填写 健身新手如何从零开始玩单杠? 刑事拘留起算点的计算方法? 简约网页美工设计的方法 新手小白如何从零开始学好平面设计 刑事拘留起算时间怎么算 所在位置 填 新手如何从零开始学习unity? 学生基本信息表中户口所在地填什么啊 刑事拘留从什么时候开始算时间 学生基本信息表户口所在地怎么填 新手没有任何基础,从零开始学化妆难不难啊? 刑事拘留时间计算方法 网上报学学生户籍几组几队怎么填? 刑事拘留起止时间怎么算 新手从零基础如何升级成为造价高手 学生户口所在地,是填现在住的地址,还是写老家地址? 淘宝美工给天猫设计一个首页要多少钱? 刑事拘留时间如何计算 新手如何从零开始入手学习化妆 奶枣的制作方法是什么?怎样才能做出奶香味?