一个变量的递归递增计数器?
Recursive up-counter with one variable?
我想制作一个向上计数的递归函数,从 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);
}
}
我想制作一个向上计数的递归函数,从 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);
}
}