C语言 判断花括号是否成对出现

编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现。
例如:
输入:{}{},成功匹配。
输入:{}{{}},成功匹配
输入:{}}{,匹配不成功
输入:}}{{,匹配不成功
输入:{}},匹配不成功
输入:}{}{{,匹配不成功

#include <stdio.h>
int main()
{
    int ch = 0;
    int count = 0;
    while ((ch = getchar()) != EOF)
    {
        if (ch == '}' && count == 0)
        {
            printf("not matched\n");
            system("pause");
            return 0;
        }
        else if (ch == '{')
        {
            count++;
        }
        else if (ch == '}' && count != 0)
        {
            count--;
        }
    }
    if (count == 0)
    {
        printf("mathched\n");
    }
    else
    {
        printf("not matched\n");
    }
    system("pause");
    return 0;
}

这里写图片描述

按Ctrl+z 后回车键退出


版权声明:本文为iynu17原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。