这个简单的递归函数的输出是什么?能详细解释一下吗?

问题描述 投票:0回答:1
void test(int start)
{
    for(int i=start; i<2; i++)
    {
        printf("%d", start);
        test(i+1);
    }
}

我知道输出会是0-1-0,但我不明白最后一个0是怎么来的?谁能帮我理解这一点吗?

如果 for 循环变为

会怎样?
for(int i=start; i<3; i++)

提前谢谢您

algorithm recursion
1个回答
0
投票

您正在打印

start
,但似乎正在考虑打印
i

|Variables    | Output|
|-------------|-------|
|start=0, i=0 | 0     |
|start=1, i=1 | 1     |
|start=0, i=1 | 0     |
© www.soinside.com 2019 - 2024. All rights reserved.