已有17人关注
请详细解说其中的逻辑与关系,先谢谢大家了
发表在C++图书答疑 2017-12-13 悬赏:3 学分 《C++从入门到精通(第3版)》第6章 函数
是否精华
版块置顶:

QQ图片20171213110918.png

a,b,c,d,e五人合伙钓鱼,第二天凌晨都困了 就各自找到地方睡下,a第一个醒来把鱼分了五分多的一条丢掉,拿着自己的走了,然后b醒来也把鱼分了五分多了一条扔掉拿着自己的走了,c,d,e依次醒来也按同样的方法拿鱼,问一共捕了多少鱼?

(1)if语句N=1执行第一条语句,下面tolot=sub(5)是不是赋值给int sub(intn)中的n?5此时是不是属于实际参数?如果是赋值那为什么还用if n=1!因为直接就执行第二条语句了,

(2)if第一条语句怎么看不到递归关系,第二条才看到,?t=sub(n-1)此时n是多少。

(3)第一语句和第二语句的表达式怎么相互作用的?第一语句while i除于5等于零就返回i+1i+1表示总鱼数,

第二句t除于4 等于0返回值t除于4乘于5再加一是不是也是总鱼数,那么它们是如何反复跳转来计算推敲出最终值是  


分享到:
精彩评论 1
李木子
学分:2954 LV11
2017-12-25
沙发

你好:

 (1)tolot=sub(5)这句话是调用了int sub(int n)这个函数;5是实参;n==1是判断一下,如果实参是1,那么久执行if(n==1),这段代码

 (2)else语句是递归,如果n不等于1,就执行else语句内的语句,是递归,因为下面调用int sub()函数时,5是实参,所以一开始n的值是5

 (3)这个问题,如果你不了解怎样程序是怎样运行,就设置断点,一步一步执行。

以上回答 希望对你有帮助

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照