正在回答 回答被采纳积分+1
1回答
好帮手慕张
2021-02-08 13:40:12
同学你好,问题解答如下:
1、"return '抱着' + single(w - 1) + '的我';"代码意思为:返回“抱着”和“single(w - 1) ”和“的我”。具体执行如下:
2、传入的参数为3
第一次执行:参数w=3;不满足if语句判断条件w==0,因此执行下一句,返回"抱着"和调用一次函数(single(3-1))和“的我”。此时返回的结果为,”抱着抱着+single(3-1)+我的我的“。因为调用了一次函数,所以函数继续执行;
第二次执行:参数w=2;不满足if语句判断条件w==0,因此执行下一句,返回"抱着"和调用一次函数(single(2-1))和“的我”。此时返回的结果为,”抱着抱着+single(2-1)+我的我的我的“。因为调用了一次函数,所以函数继续执行;
第三次执行:参数w=1;满足if语句判断条件w==0,因此执行if语句中的return语句,返回“我的小鲤鱼”
最后进行字符串的拼接实现任务效果
以上为代码的执行过程,同学可参考理解
3、这里不理解可以看出同学对递归函数的认识还不够,建议同学可以多看几遍关于递归函数的讲解。这里就是使用的递归函数,递归函数实际就是在函数内部调用自己从而实现循环执行。
祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星