c-带有一个变量的递归递增计数器



我想做一个递增计数递归函数,从1计数到随机正数,但这个随机数是我能给这个函数的唯一参数。有没有一种方法可以克服这些限制,在我看来,在给定变量的情况下,我至少还需要一个函数。局部变量只是用新的递归重置。。

void numChainRecursive(int lastNum)
{
if(lastNum > 0)
{
printf("%d", lastNum);
numChainRecursive(lastNum - 1);
}
}

例如,如果lastNum=22,则编译得到";222120[…]1〃;但我想把从1增加到22

我只能用另一个给定变量的函数来解决这个问题,但我的目标是只使用一个给定的参数。

void numChainRecursive(int first, int last)
{
if(first <= last)
{
printf("%d", first);
numChainRecursive(first + 1, last);
}
}

将打印输出放在递归调用之后。

void numChainRecursive(int lastNum)
{
if(lastNum > 0)
{
numChainRecursive(lastNum - 1);
printf("%d", lastNum);
}
}

最新更新