我在研究如何编程,并且最近一直在处理一个问题,该问题计算从最小值到最大值输入的2个数字的总数。例如,如果有人输入了数字4,7,则计算将是4 + 5 + 6 + 7 = 22。在C中编写递归函数
我试过我认为会是recSum的定义,但显然这是错误的,因为我得到了分段错误。我的定义有什么问题?
/* Define the recursive function */
int recSum (int x, int max)
{
int incrementalSum = 0;
if (x == max)
{
return x; /* Exit if summated lower to upper numbers */
}
else
{
return (x + recSum(x++, max)); /* My recursive call */
}
} /* End of function call */
*新代码显示在上面,对不起,我使用了错误的代码。
如果你打算写代码一样,如果它是20世纪70年代,至少使其可读。 –
你的'goto'构造等价于'while(1){...}'循环。循环不是递归。 – emlai
您是否想为练习目的编写一个递归/迭代解决方案?或者您不知道用于总结1-n中所有整数的公式? – MikeMB