递归问题。。。。。。。

图片说明
请问下为什么第6行写1/2得到的是n-1应该得到的答案,而写了0.5得到的就是正确的呢

这是除号性质的问题,即使这个函数中的返回值是double类型的,但是你在return的时候是进行一个计算,也就是1除以2, 1/2得到的结果是0,即使在计算完1/2之后返回调用点的时候,返回的也是0而不是你想要的0.5

因为1/2等于0,自己想一下是不是。

写成 return 1.0/2 就好啦