首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C和指针-编程练习-花括号是否匹配

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

原创
作者头像
程序员小涛
修改于 2021-01-26 18:08:35
修改于 2021-01-26 18:08:35
1.8K0
举报
文章被收录于专栏:涛的程序人生涛的程序人生

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

题目:

代码语言:txt
复制
编写一个程序,它从标准输入读取C源代码,并验证所有花括号都正确地承兑出现。注意:你不必担心注释内部、字符串常量内部和字符常量形式的花括号。
代码语言:txt
复制
#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!\n");
            }
            else
            {
                braces--;
            }
        }
    }

    //没有更多输入了, 验证是否存在未被匹配的左花括号
    if(braces > 0)
    {
        printf("%d unmatched opening brace(s)!\n", braces);
    }

    return 0;
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • C和指针-编程练习-花括号是否匹配
    • 题目:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档