我将尝试解释如何在C语言中使用递归,但我不理解其中的
输出结果是:
最后一个返回值
return
语句。请看以下代码:int recur(int i)
{
printf("recur: i = %d\n", i);
if (i < 3)
{
recur(i + 1);
return 10;
}
else if (i < 5)
recur(i + 1);
return i;
}
int main(void)
{
int i = 0;
i = recur(i);
printf("i = %d\n", i);
return 0;
}
输出结果是:
recur: i = 0
recur: i = 1
recur: i = 2
recur: i = 3
recur: i = 4
recur: i = 5
i = 10
最后一个返回值
return i
是什么意思?这段代码是否有意义?
recur
函数中,递归调用返回的值会发生什么?你只是将它们丢弃了。另外,我建议您使用调试器逐步执行代码,进入递归调用,并查看会发生什么。 - Some programmer dude