用手写算法 2022-04-01 08:06 采纳率: 62.5%
浏览 41
已结题

关于数据结构的栈,入栈函数

img

img

img

img


数据入栈后,在入栈函数内输出值是正确的,但是一在函数外面就输出-842150451,还有获取栈顶元素和出栈都是输出一长串数字。这到底是为什么。

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-04-01 08:12
    关注

    这种一般是函数参数不能作为返回值造成的
    你这Push调用不对吧, 参数要求是Linkstack类型,你却传递了Linkstack *类型,Push(s,e)就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    用手写算法 2022-04-01 08:21

    我这个换成你说的情况后也是不对的啊,这是为什么,和之前情况一样

    回复
    用手写算法 2022-04-01 08:26

    他只要一出入栈函数输出栈中值就不对

    回复
    CSDN专家-link 回复 用手写算法 2022-04-01 08:28

    Push函数内部修改了参数s的值,但实际是不能修改外部传入的s指针值的
    你还得将参数改为Linkstack *才可以实现修改

    Push(Linkstack * s,int e)
    {
        ...
       *s = x;
       ...
    }
    
    

    回复
    展开全部4条评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 4月1日
  • 创建了问题 4月1日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部