对不起,对于已经谈过很多次论据的一个非常基本的问题,我只是无法弄清楚答案。我试着搜索论坛已经在主题上提出的问题,但没有找到确切的答案(或不明白它)。为什么递归返回到第一个函数?
为什么这个函数打印两次从i到10的数字时,按不同的顺序调用? 不应该以相同的顺序打印出来吗?我一直听说这是递归如何工作的:每个函数在其代码中调用另一个相同的函数,只是应用于较小的域,直到满足结束条件。此时它应该返回(回溯)到原始功能;这是我不明白,为什么它返回(不打算作为语法调用)的主要功能。
void count(int i){
if(i < 10){
printf("%d\n", i);
count(i + 1);
printf("%d\n", i);
}
}
谢谢。
通过调试器和单步执行你的代码到每一行中,你会发现你的答案;) – user376507
请不要标记问题已解决。相反,接受最有用的答案,并保持原样。 –
@EricLippert k,我是新来的论坛,不知道规则,谢谢你的提醒。 – user3338768