免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4925 | 回复: 25

刚写了个长点的程序..小花又纠结了... [复制链接]

论坛徽章:
0
发表于 2012-02-17 15:15 |显示全部楼层
小女先拜谢了
程序有点长,小花就捡有用的上吧
scanf("%s",stack);
    for(i=0;stack[i]!='\0';i++)
          Push(&sa,stack[i]);
for(h=0;h<i;h++)
printf("%c",sa.data[h]);
这个是我写的中缀式转后缀式代码的一部分,这块就是把中缀式输入到栈再输出..小花知道这么写没啥道理,诸位大大就当小花是在练习,巩固知识吧...哭
问题就是我认为第二个for循环应该用h<i,
当是h<i时,输入a+b+c,可输出成了a+b+
而当h<=i时,输入a+b+c,输出就是a+b+c了...小花就是想不明白啊...

Push函数代码

void Push(SqStack *s,SElemType e)
{
     if(s->top==MAX-1)
     {
         printf("The stack is full.\n");
         //return ERROR;(这里还有个问题,为啥总说我这里的ERROR没有声明呢....)
                      }
     s->top++;
     s->data[s->top]=e;
     

}

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
发表于 2012-02-17 15:42 |显示全部楼层
s->top 被初始化为 -1 吗?
如果是0的话, 第一个数压在 data[1] 上,而不是 data[0] 上

论坛徽章:
0
发表于 2012-02-17 15:43 |显示全部楼层
  1.      s->top++;
  2.      s->data[s->top]=e;
复制代码
你top先加一了,那你s->data[0]里就肯定是空的咯。
关于说你ERROR没声明,你哪里声明了??

论坛徽章:
0
发表于 2012-02-17 15:43 |显示全部楼层
小花被雷了....刚刚怎么也不对,这会莫名其妙的对了...我貌似没干啥啊。。。汗

论坛徽章:
0
发表于 2012-02-17 15:47 |显示全部楼层
说明你没初始化?初值随机,所以效果随机

论坛徽章:
0
发表于 2012-02-17 15:53 |显示全部楼层
LZ必然是个人妖啊

论坛徽章:
0
发表于 2012-02-17 21:14 |显示全部楼层
回复 2# bruceteen


    恩,初始化是-1

论坛徽章:
0
发表于 2012-02-17 21:17 |显示全部楼层
回复 3# 懒蜗牛Arch


    我初始化是-1,所以先加木有错...

    倒是大大给讲下ERROR应该怎么声明啊?我就是依葫芦画瓢...之前课上有这么讲,当时也没弄明白return ERROR是什么情况,反正就是程序终止了就..

论坛徽章:
0
发表于 2012-02-17 21:19 |显示全部楼层
回复 6# churchmice


    别看人都是你同类行不?有在这乱喷的时间不如出去晒晒阳光,杀杀菌

论坛徽章:
0
发表于 2012-02-17 22:57 |显示全部楼层
回复 8# 花儿笑


   
ERROR你自己定义一下好了:
既可以使用define

  1. #define ERROR 1
复制代码
或者enum类型的也可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP