C 带一个变量的递归递增计数器?

C 带一个变量的递归递增计数器?,c,recursion,counter,C,Recursion,Counter,我想构造一个补计数递归函数,从1计数到一个随机正数,但这个随机数是我能给出这个函数的唯一参数。 有没有办法克服这些限制,在我看来,我至少还需要一个给定变量的函数。局部变量只是用一个新的递归重置 void numChainRecursive(int lastNum) { if(lastNum > 0) { printf("%d", lastNum); numChainRecursive(lastNum - 1); }

我想构造一个补计数递归函数,从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 first,int last)
{

if(first将打印输出放在递归调用之后

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