zl程序教程

您现在的位置是:首页 >  其他

当前栏目

C和指针-编程练习-花括号是否匹配

2023-04-18 12:36:17 时间

C和指针-编程练习-花括号是否匹配

题目:

编写一个程序,它从标准输入读取C源代码,并验证所有花括号都正确地承兑出现。注意:你不必担心注释内部、字符串常量内部和字符常量形式的花括号。
#include <stdio.h>
#include <stdlib.h>
/*
* 检查一个程序的花括号对
*/

int main()
{
    char ch;
    int braces = 0;

    //逐字符读取程序
    while ((ch = getchar()) != EOF)
    {
        if(ch == '{') //左花括号始终是合法的
        {
            braces++;
        }

        if(ch == '}') //右花括号只有当它和一个左花括号匹配时才是合法的
        {
            if(braces == 0)
            {
                printf("Extra closing brace!
");
            }
            else
            {
                braces--;
            }
        }
    }
    //没有更多输入了, 验证是否存在未被匹配的左花括号
    if(braces > 0)
    {
        printf("%d unmatched opening brace(s)!
", braces);
    }

    return 0;
}