#750. 函数调用栈模拟
函数调用栈模拟
题目描述
为了理解编译原理、程序执行流程、递归调用等概念,对程序运行时 函数调用与返回机制简化模拟,小张需要这样一个程序:该程序模拟了一个 函数调用栈(Call Stack)的基本行为,具体包括以下两个操作: 1、call:表示调用一个函数,将该函数的名称和返回地址压入栈中; 2、return:表示从当前函数返回,从栈顶弹出最近调用的函数,并模拟返回到该函数调用者; 请你帮助他完成此任务。
输入格式
使用call+函数名称+返回地址格式输出需要调用的函数,使用return从当前函数返回。
输出格式
输出执行call与return命令后的结果
样例
输入样例 1
call funcA 100
call funcB 50
return
return
输出样例 1
调用函数: funcA
调用函数: funcB
返回到函数: funcB
返回到函数: funcA
输入样例 2
call main 0
return
输出样例 2
调用函数: main
返回到函数: main
输入样例 3
call A 10
call B 20
return
return
输出样例 3
调用函数: A
调用函数: B
返回到函数: B
返回到函数: A
提示
样例解释:先调用 funcA,再调用 funcB,调用栈为 [funcA, funcB] 第一次 return弹出 funcB,返回到它 第二次 return弹出 funcA,返回到它