该功能只实现了大括号的数量匹配,没有进行大括号的左右匹配。具体实现如下:
#define MAXBUF 4096
int
main(int argc, char *argv[])
{
char szBuf[MAXBUF + 1];
int nCount=0;
int n = 0;
char *p;
//printf("1--nCount=[%d]\n", nCount);
while((n = read(STDIN_FILENO, szBuf, MAXBUF)) > 0)
{
p = szBuf;
while (*p != 0)
{
if (*p == '{')
{
nCount++;
//printf("---1---nCount=[%d]\n", nCount);
p++;
continue;
}
if (*p == '}')
{
nCount--;
//printf("###2###nCount=[%d]\n", nCount);
p++;
continue;
}
p++;
}
memset((char *)szBuf, 0, sizeof(szBuf));
}
if (nCount != 0)
printf("The brackets havn`t match. nCount=[%d]\n", nCount);
else
printf("The brackets have matched\n");
return 0;
}
本文介绍了一个简单的程序,用于检查输入字符串中的大括号是否成对出现并正确闭合。程序通过计数来判断大括号是否匹配,并在读取完所有输入后输出匹配结果。
4866

被折叠的 条评论
为什么被折叠?



