2，但是「sumsq」子程式需要唿叫「square」子程式。为保证sumsq的返回位址不被重写，这个位址被存储在堆叠中。在square子程式返回后，sumsq再从堆叠中取回其自身的返回位址。
安全性.在较底层语言（如组合语言与C语言中），程式控制讯息与资料可能一同被存入唿叫堆叠中，因此造成安全隐患，可能允许恶意程式通过栈缓冲区溢出（stack buffer overflow）来获取程式的控制权。