![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
求问一道二级C语言的题目!
三次调用函数分别是fun(6)fun(3)fun(1)只有当执行到fun(1)时才退出if函数应该是只输出一个结果啊!...
三次调用函数分别是fun(6) fun(3) fun(1) 只有当执行到fun(1)时才退出if函数 应该是只输出一个结果啊!
展开
展开全部
你好 这是一个递归的调用:
这道题目会出现3次fun函数的调用,即fun(6)、fun(3)、fun(1);当程序执行到fun(1)的if判断时由于条件不成立,所以会执行printf输出语句,这样就会输出1,然后返回到fun(1)这条语句处,继续执行逻辑上的下一条语句,即,fun(3)中的printf语句,输出3,然后在返回到fun(3)这条语句,继续执行逻辑上的下一条语句,即fun(6)中的printf语句,此时输出6,然后返回到主函数的fun(6)的调用处,过程就是这样的,屏幕的显示结果是136。希望能帮到你。。。。
这道题目会出现3次fun函数的调用,即fun(6)、fun(3)、fun(1);当程序执行到fun(1)的if判断时由于条件不成立,所以会执行printf输出语句,这样就会输出1,然后返回到fun(1)这条语句处,继续执行逻辑上的下一条语句,即,fun(3)中的printf语句,输出3,然后在返回到fun(3)这条语句,继续执行逻辑上的下一条语句,即fun(6)中的printf语句,此时输出6,然后返回到主函数的fun(6)的调用处,过程就是这样的,屏幕的显示结果是136。希望能帮到你。。。。
更多追问追答
追问
我想问的是第一次是fun(6) 也就是第一次执行完If 语句之后printf这条语句要执行吗??
追答
当然不执行,fun(6)里面的printf语句是最后才执行的。
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2025-02-17 广告
联韬企业管理咨询有限公司是专注在供应链管理和运营管理领域的培训咨询机构,承办CPIM/CSCP/CLTD/SCOR DS认证项目的教育培训及考试管理,为企业和个人提供教育培训,专业认证考试和咨询指导服务。帮助企业实施和改进管理流程;提高管理...
点击进入详情页
本回答由上海联韬企业提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询