c++ 出栈入栈

voidmain(){StackS;charx,y;InitStack(S);//初始化栈x="c";y="k";Push(S,x);Push(S,"a");Push(S... void main()
{ Stack S;
char x,y;
InitStack(S); // 初始化栈
x= "c ";
y= "k ";
Push(S,x); Push(S, "a ");
Push(S,y); Pop(S,x);
Push(S, "t "); Push(S,x);
Pop(S,x); Push(S, "s ");
While (!SEmpty(S))
{ Pop(S,y);cout<<y; };
cout<<x;
}

答案是stack,请告诉我过程

s
c出栈
t
k出栈
a
c
所以While (!SEmpty(S))
{ Pop(S,y);cout<<y; };
输出应该是stac,加上cout<<x;,
所以我觉得是stacc啊。为什么答案是stack?
展开
 我来答
b43ok
推荐于2017-09-18 · TA获得超过195个赞
知道答主
回答量:220
采纳率:0%
帮助的人:237万
展开全部
void main()
{ Stack S;
char x,y;
InitStack(S); // 初始化栈
x= "c ";
y= "k ";
Push(S,x); Push(S, "a ");Push(S,y); //此时堆栈里是c,a,k
Pop(S,x); //此时堆栈里是c,a,因为pop到x里了,所以x='k'
Push(S, "t "); Push(S,x);//堆栈为c,a,t,k
Pop(S,x); //堆栈为c,a,t,又把k给pop到x里了,所以x='k'
Push(S, "s ");//堆栈为c,a,t,s
While (!SEmpty(S)){ Pop(S,y);cout<<y; };
//这个while就是把堆栈里的内容按出栈顺序显示,
//输出了 "stac"
cout<<x;
//最后把x输出,所以输出个"k"
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式