例子:def pow(x,n):if n==0:return 1else:return x*pow(x,n-1)既然结束条件返回1那为什么还能打印出正确结果而不打印1?难道return 1类似C语言中的return 0(结束)吗?
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
你没有搞懂递归是什么。这个return 1的结果是返回给它的上层递归中调用它的那条语句的,即return x*pow(x, n-1)这条语句,当n=0时pow(x, n-1)的值就是1。这条语句本身也是一条返回语句,它继续将结果返回给上层递归的调用者,直到最外层调用者。
添加回答
举报
0/150
提交
取消