C语言递归的问题,递归结束之后为什么还要倒过来一遍?

# include<stdio.h>
void di(int);
int main(void)
{
di(1);
return 0;
}
void di(int n)
{
printf("a%d %p\n",n,&n);
if(n<4){
di(n+1);
}
printf("b%d %p\n",n,&n);//书上说:现在函数需要执行return语句,此时第四级调用结束,把控制返回给该函数的调用函数。并没有return啊!!
}

void函数是可以不写return语句的,没有return也是return。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-26
函数是否要return 一个值,是看逻辑需求的需要的

现在这个函数定义没有返回,而是直接打印出来

~追问

递归结束之后为什么还要倒过来一遍呢?

第2个回答  2016-09-26
仿佛心里有一把钥匙   
相似回答