一个过程或函数在定义或说明中有直接或间接调自身的一种方法通常把一个大规模的问题层层转化为一个与原问题相似的小规模的问题来求解主要思考方式是在大事化为小事
必要条件:1存在限制条件当满足这个条件时递归便不在进行 。2每次递归便越接近这个条件
递归常见错误:栈溢出 :每个函数都将占领内存空间(占领为栈区) 内存空间大概可以分为三块分别为:栈区,堆区,静态区;栈区:局部变量,函数的形参 堆区:动态开辟的内存 静态区:全局变量static 修饰的变量
void print(int n) { if(n>9) { print(n/10); } printf("%d",n%10); } int main() { unsigned int num=0; scanf("%d",&num); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)