请教高手 这个c++程序哪里错了 利用堆栈 求解十进制转八进制

[复制链接]
查看11 | 回复1 | 2012-10-11 23:04:39 | 显示全部楼层 |阅读模式
原因很简单。看你的push操作:int push(stu &s,int e){*s.top=e;s.top++;return 1;}很明显,你是将一个数字压入到top指向的内存后,更新top指针。也就是说,push操作后,top 指针指向的内存单元是个无效值。然后再看pop操作:int pop(stu &s,int &e){e=*s.top;s.top--;return 1;}刚才已经说过了,top指针指向的内存单元是无效的,而e=*s.top;实际上就是返回了一个无效值。所以应该修改pop函数为:int pop(stu &s,int &e){s.top--;e=*s.top;...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行