初学递归的时候,觉得很抽象,不好分析,确实如此,尤其是有些时候控制语句不对,导致程序进去无限次的调用,更严重的是栈溢出。既要正确的控制结束语句,又要有正确的进入下次递归的语句,还要有些操作语句......。所以要使用递归,必须每一层的思路要相当清晰。而循环和递归还是挺类似的说,循环的次数可以近似的理解为要递归是次数。那么下面我们看看递归和循环的区别:
1.递归实现strcpy函数:
1 void _strcpy(char *to,const char *from)
2 {
3 if('
初学递归的时候,觉得很抽象,不好分析,确实如此,尤其是有些时候控制语句不对,导致程序进去无限次的调用,更严重的是栈溢出。既要正确的控制结束语句,又要有正确的进入下次递归的语句,还要有些操作语句......。所以要使用递归,必须每一层的思路要相当清晰。而循环和递归还是挺类似的说,循环的次数可以近似的理解为要递归是次数。那么下面我们看看递归和循环的区别:
1.递归实现strcpy函数:
1 void _strcpy(char *to,const char *from)
2 {
3 if('