已知程序如下:
int S(int n) { return (n <= 0) ? 0 : S(n - 1) + n; } void main() { cout << S(1); }
程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息依次对应的是( )。
A. main()→S(1)→S(0)
B. S(0)→S(1)→main()
C. main()→S(0)→S(1)
D. S(1)→S(0)→main()
本题考察栈先进后出的性质,调用函数...
用户登录可进行刷题及查看答案
本题考察栈先进后出的性质,调用函数入口为main(),main()入栈,接着调用S(1),S(1)入栈,S(1)需要递归调用S(0),S(0)入栈,题目要求“自栈底到栈顶保存的信息”,即main()→S(1)→S(0),如果是“自栈顶到栈底保存的信息”就要反过来。
本题选A。
评:这道题的代码含义不理解,递归计算 。
登录后提交答案
暂无评论,来抢沙发