1. 如下程序,在主函数中并未调用,但为何会重启?

    程序分析(栈帧问题)_其他

    在主函数中,调用了fun1的函数,而在fun1函数中,p--后,将栈帧上p地址上的内容修改成了fun

的地址,因此,程序运行到fun函数中。


2. 修改栈帧上变量的内容 (不通过变量名)

   

程序分析(栈帧问题)_栈帧_02

测试结果:

程序分析(栈帧问题)_栈帧_03

 在fun函数中,b先压栈,a后压栈,变量b在变量a的上面。