求问一道二级C语言的题目!
三次调用函数分别是fun(6)fun(3)fun(1)只有当执行到fun(1)时才退出if函数应该是只输出一个结果啊!...
三次调用函数分别是fun(6) fun(3) fun(1) 只有当执行到fun(1)时才退出if函数 应该是只输出一个结果啊!
展开
2个回答
展开全部
你好 这是一个递归的调用:
这道题目会出现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语句是最后才执行的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询