:无限递回.无限递回是堆叠溢位的最常见原因，如以下的C/C++语言程式会产生堆叠溢位：int foo()然而有些语言（如Scheme）支援尾端递回优化，在这些语言中只有一般递回会产生堆叠溢位，而尾端递回不会：这段代码中，前者（第一句）进入无穷回圈（Infinite loop），但不会产生堆叠溢位；后者（第二句）则会产生堆叠溢位。
防止堆叠溢位.多数无限递回出现原因，都是基于程式本身没有错误检测机制：int factorial( const int *const n