ડꫀꫀ ꪗꪮꪊ. 2022-03-28 23:03 采纳率: 88.6%
浏览 56
已结题

C语言括号匹配问题求指导!

我的问题就是 输入数据到数组之后 无法进行下一步 找不到问题在哪

#include<stdlib.h>
#include<string.h>
#include<stdio.h>

int match(char* str)
{
    char stackMemroy[1024];
    int top = -1;
    int i = 0;
    while (str[i] != '\0')
    {
        if (str[i] == ')')
        {
            if (top > -1)
            {
                top --;
            }
            else
            {
                return -1;
            }
        }
        else if (str[i] == '(')
        {
            stackMemroy[++top] = str[i];
        }
        i++;
    }
    if (top == -1)
        return 0;
    else
        return 1;
}

 



int main()
{
    while (1) 
    {
        char str[1024] = "";
        /*get_s(str, 1024);*/
        scanf_s("%s",str);
        int result = match(str);
        if (result == 0)
        {
            printf("匹配\n");
        }
        else if (result == 1)
        {
            printf("多了左边括号\n");

        }
        else
        {
            printf("多了右边括号\n");
        }
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • 离陌lm 2022-03-28 23:16
    关注

    你这个传参是不是有问题,str是数组,但是你函数里面只是个char,而且函数里面是个指针变量,你传的参数应该个指针吧{我不是很确定,好久之前学的C,现在搞Java,但是感觉可能是这两方面有问题,你可以试着改改看}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分