小撤销写了一个「撤销操作」程序:每弹掉一个记录就当撤销一次。运行下面的程序:
stack<int> st;
st.push(5);
st.pop();
st.pop();
cout << st.top();
关于这段程序,下面哪个说法正确?( )
- A. 输出 5,因为 pop 不会真的删掉元素
- B. 输出 0,因为空栈的 top 就是 0
- C. 第二次 pop 发生在空栈上,是未定义行为,程序可能崩溃
- D. 编译不通过,pop 不能连着写两次
g5-07224.in输出g5-07224.out小撤销写了一个「撤销操作」程序:每弹掉一个记录就当撤销一次。运行下面的程序:
stack<int> st;
st.push(5);
st.pop();
st.pop();
cout << st.top();
关于这段程序,下面哪个说法正确?( )