初学者在这里试图了解bug的来源。
我已经编写了这个递归函数来找到两个数字之间的二项式系数,这在概念上显然是正确的。然而,对于这两个数字,n = 4和k = 2,我应该得到6,而我实际上得到16.任何想法为什么会发生这种情况?
{{1}}
答案 0 :(得分:5)
这一行看起来不对,因为它将0分配给k
:
if ((k=0) || (k==n))
你可能意味着:
if ((k==0) || (k==n))
答案 1 :(得分:5)
这一行
if ((k = 0) || (k == n))
应该是
if ((k == 0) || (k == n))
^^
你给k分配零。
正如@Michael Walz指出的那样,使用-Wall
进行编译以打开所有编译警告是一种很好的做法。