这道题c语言选择题怎么做的

这道题c语言选择题怎么做的详细过程... 这道题c语言选择题怎么做的详细过程 展开
 我来答
自我编程
2018-09-02 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部
执行main:调用fun,传参(4、变量x地址)
首层fun :形参n=4,*s=x的地址(值0)。执行else{......}
  首先函数递归调用自己,传参(4-1,首层变量f的地址),(*s=f这句要等前面递归完成才会执行)

  递归1fun:形参n=3,*s=首层变量f的地址。执行else{......}
   函数递归调用自己,传参(3-1,递归1变量f的地址)

      递归2fun:形参n=2,*s=递归1变量f地址。执行else{......}
        函数递归调用自己,传参(2-1,递归2变量f的地址)

    递归3fun:形参n=1,*s=递归2变量f地址。执行*s=n+1;也就是递归2变量f的值变成2

此时递归完成,依次返回上层,继续执行对应的语句*s=f。
递归3完成后,递归2的变量f赋值2,然后返回递归2。
递归2执行*s=f,递归1的变量f赋值2。
递归1执行*s=f,首层变量f赋值2。
首层执行*s=f,变量x赋值2。
所以最后打印x的值2。
户哲茂5B
2018-09-04 · TA获得超过817个赞
知道小有建树答主
回答量:781
采纳率:59%
帮助的人:130万
展开全部
这是一个递归函数,假如递归有效的话,那么递归函数跳出的唯一条件就是n==1的时候,那么下面的的递归判断就不用看了,因为递归到最后n肯定是1,所以此时*s==2.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝天不是蓝色了
2018-09-01 · TA获得超过630个赞
知道小有建树答主
回答量:329
采纳率:46%
帮助的人:93.8万
展开全部
x等于2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
家熬鲫鱼
2018-08-31 · TA获得超过100个赞
知道小有建树答主
回答量:125
采纳率:55%
帮助的人:40万
展开全部
f的初值是多少?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邓氏切铝机源头厂家
2018-08-31 · TA获得超过1220个赞
知道小有建树答主
回答量:3066
采纳率:40%
帮助的人:817万
展开全部
很简单啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d2eb7181f6
2018-09-05 · 超过26用户采纳过TA的回答
知道答主
回答量:73
采纳率:83%
帮助的人:27.3万
展开全部
简单的理解 就是传值 和传址的区别,func中*s用来保存每次递归时的结果,一直到n被减为1 此时s内保存的值为2 ,然后逐次赋值给上一层的s(局部变量f),最终结果为2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式