为什么我总是理解不了函数的递归调用?
怎么看就是看不懂,感觉很抽象,该怎么理解啊,看着别人写的程序能看懂,可一到自己用到函数的递归调用来写程序了,就不知道该如何下手,关键是没有掌握递归调用的精髓。有谁能帮帮我这个快崩溃的人啊!
第归其实很好理解的!!不过也很抽象的!首先你要写一个递归函数!那么一定想要搞清楚函数的抽象功能,搞清楚了那么你就可以写出来了!
例如写个求阶乘的函数unsigned long fun(unsigned int n);不考虑益处!! 首先搞清楚函数的功能:返回值为n! 数学定义如果n=0那么n!=1反之n!=(n-1)!*n;
unsigned long fun(unsigned int n) { if(n==0) return 1; else return fun(n-1)*n; }
看到了吗这个就是根据他的数学第归调用而写的!!