2015 数据结构 选择题
第 1 题

已知程序如下:

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()

[tag_link] 正确答案:A递归调用函数时,在系统栈里保存的函数信息需满足先进后出的特点,依次调用了main(),S(1),S(0),故栈底到栈顶的信息依次是main(),S(1),S(O)。