自己调用自己,在函数内部调用自己,解决重复执行或相似任务问题。
%d打印有符号整数(有正负数 )
%u打印无符号整数,unsigned
递归要用限制条件,不然会死循环,满足这个条件后不再继续
每次递归调用都要接近这个限制条件
某些问题会存在死循环死递归,可能导致一直在开辟栈空间,最后导致栈空间耗尽的情况,
这样的形象称为栈溢出。
解决方法:
- 将递归改为非递归
- 使用static对象代替nonstatic局部对象,在递归函数设计中,可以使用static对象代替
Nonstatic(栈对象),减少每次调用递归和返回时产生和释放nonstatic对象的开销,还可以保存递归调用的中间状态。