问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言关于括号比配的问题,用栈实现,想问问我写的程序错在哪里

发布网友 发布时间:2023-10-18 04:35

我来回答

2个回答

热心网友 时间:2024-12-05 07:39

太复杂,不需要用堆栈。

给你个我写的代码,用C#写的,思路是遇到左括号模拟入栈,遇到右括号模拟出栈,字符串扫描结束看结果是否为0,正确的应该是0,不为0必然是栈出问题了,也就是括号不成对。这个算法可以检查嵌套括号。

 

        private bool CheckPair(string express)
        {
            int layer = 0;
            int length;
            int i;
            length = express.Length;
            i = 0;
            while (i < length )
            {
                switch (express[i])
                {
                    case '(':
                        layer++;
                        break;
                    case ')':
                        layer--;
                        break;
                }
                i++;
            }
            if (layer != 0) return false;
            return true;
        }

热心网友 时间:2024-12-05 07:39

pop(&s,e); //这里的e不会带回来字符

改成:
e=pop(&s,e);追问这样再输入(),就输出"缺乏右括号!",我是不是还有哪里有错误啊??

追答void push(STACK * s,char ch)
{
NODE * pnew;
pnew = (NODE *)malloc(sizeof(NODE)); //每次分配新节点,都要动态分配内存
pnew->a = ch;
pnew->next = s->top; //这里有问题
s->top = pnew;
}

case')':
case']':
case'}':
if(!empty(&s))
{
e=pop(&s,e);
if(!(e == '('&&*p == ')'||e == '['&&*p == ']'||e == '{'&&*p == '}')) //双等号
{
printf("左右括号不匹配!");
exit(-1);
}
}
else
{
printf("缺乏左括号!");
exit(-1);
}
break ; //这里及以下略有调整
default:
break ;
}
p++;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在RLC电路中,谐振频率为___同期为___谐振条件为___? 电磁振荡并联 RLC振荡回路的谐振频率与振荡特性 佛手柑水培还是干放 中山市美派电器有限公司怎么样? 成都美派电器有限公司怎么样? 两条不同品牌的DDR3内存条可以一起用吗 驾驶证的牡丹卡多长时间能办下来 新衣服必须用洗衣液洗才能去甲醛吗? 梦见逛街被偷抢 2024年买什么品牌的运动男鞋比较好? 五岭逶迤腾细浪乌蒙磅礴走泥丸逶迤指的是什么6 我银行卡丢了现在补办回来的新卡卡号不同,丢的那张我冻结了它,...1 把小螃蟹放在有鱼的水缸里可以吗6 申请录取以后可不可以再追要奖学金?比如牛津迈阿密大学,科罗拉... 有什么类似乌龟,金鱼之类的 可以水里养的 能在水池子里养的 ... 江西新余医保,上饶看病可以直报吗? 铝合金方管的重量怎么计算45 50乘以50乘以2铝合金方管重量是多少2 什么是森田疗法?森田疗法运用了哪些东方哲学? 40*80*2.2和30*30*1.2铝合金方管的理论重量是...2 黑鲨手机怎么清除和平精英游戏数据?1 吃什么药催月经66 奇怪,我有的时候居然会梦见前男朋友都不理我,我现在都不敢相信... 我发现有时候我当晚梦到我朋友,我朋友也梦到我,好几次了,你们... 一首很嗨很带劲的dj英文歌曲,歌词里有烂密c油烂1 本兮的我梦见我梦见我有好多疑点,比如我有一台时光放映机,英文...5 移动家庭亲情网是什么业务啊!62 为什么苹果手机,映客直播时一首音乐都搜不到呢?1 请心理学高手详解一下森田疗法,它的精髓是什么?14 全自动滚筒洗衣机在最后十几分钟有重复开始什么原因 微信不小心点了,不是我的登录怎么找回我原来的? 用手机直播映客,放歌曲DJ的都有什么歌,有时候都搜不出来 螃蟹吃海参吗? 螃蟹能和海参在一个池子饲养吗13 Chrome OS 是免费的操作系统吗 实名的被骗走了,只绑定了身份证,没有绑定银行卡的。会不会被他... 表示愤怒的成语有哪些?1268 《为人大须学问》译文~~!!104 ...的被盗了,实名认证了但是没有绑定银行卡坏人可以用我的微信... 我的实名认证的被盗了,实名认证了但是没有绑定银行卡坏人可以用我... 买房子的个人所得税是多少298 电视机很长时间没有放。现在打开的时候里面有滋滋的声音而且没有...2 新余城市医保怎么办理3 用qq怎么注册1 实名的被骗走了,只绑定了身份没有绑定银行卡,会不会被他们做出... C语言:括号匹配问题 程序不能运行 我是新手 找不出原因 找... 我的实名认证的被盗了,实名认证了但是没有绑定银行卡坏人可以用我... 请推荐几个劲爆带劲的DJ音乐,开车提神用,谢谢!3 如图所示,这评论又说美国代购的又说中国制造,那到底是中国生产... 做梦代表什么啊?是不是有预兆,我才梦见我男朋友背叛我了,几个...1 我家的海尔全自动滚筒洗衣机,15分钟快洗,剩最后3分钟了,时...61