| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖
标题:栈的应用 求大神帮助,为什么求不出长度来
只看楼主 加入收藏
hua151hua
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2013-11-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
栈的应用 求大神帮助,为什么求不出长度来
#include "stdio.h"
#include "malloc.h"
#define stack_size 10
#define error
#define ok
typedef char elemtype;
typedef struct stack
{
  elemtype elem[stack_size];
  int top;
  int length;
 }sqstack;

void emptystack(sqstack *s)/*置空栈*/
{

  s->top=-1;

 }

int leng(sqstack *s)
{
  return (s->length);
 }


int push(sqstack *s,elemtype e)/*进栈*/
{
  if(s->top>=stack_size-1)
     return error;
  else
  {
     s->top++;
     s->elem[s->top]=e;
     return ok;
   }
 }

/*int pop(sqstack *s,elemtype *e)
{
  if(s->top<0)
     return error;
  else
  {
    *e=s->elem[s->top];
    s->top--;
    return ok;
   }
 }*/




int main()
{
 sqstack s;
 emptystack(&s);
 push(&s,'a');
 push(&s,'b');
 printf("%d",leng(&s));
 getch();


 }
搜索更多相关主题的帖子: include return 
2013-11-19 14:09
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
int push(sqstack *s,elemtype e)/*进栈*/
{
  if(s->top>=stack_size-1)
     return error;
  else
  {
     s->top++;
     s->elem[s->top]=e;
     return ok;
   }
}

因为你的push的时候,length 并不增长,他一直都没有被初始化

为什么你要一个top,同时又要一个length?两个数据不是冗余了吗?
用一个就可以控制该栈了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-11-19 15:08
hua151hua
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2013-11-14
收藏
得分:0 
2013-11-22 20:10
快速回复:栈的应用 求大神帮助,为什么求不出长度来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055347 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved