?? algo3-3.c
字號:
/* algo3-3.c 括號匹配的檢驗,(限于()、[]) */
typedef char SElemType;
#include"c1.h"
#include"c3-1.h"
#include"bo3-1.c"
void check()
{ /* 對于輸入的任意一個字符串,檢驗括號是否配對 */
SqStack s;
SElemType ch[80],*p,e;
if(InitStack(&s)) /* 初始化棧成功 */
{
printf("請輸入表達式\n");
gets(ch);
p=ch;
while(*p) /* 沒到串尾 */
switch(*p)
{
case '(':
case '[':Push(&s,*p++);
break; /* 左括號入棧,且p++ */
case ')':
case ']':if(!StackEmpty(s)) /* 棧不空 */
{
Pop(&s,&e); /* 彈出棧頂元素 */
if(*p==')'&&e!='('||*p==']'&&e!='[') /* 彈出的棧頂元素與*p不配對 */
{
printf("左右括號不配對\n");
exit(ERROR);
}
else
{
p++;
break; /* 跳出switch語句 */
}
}
else /* 棧空 */
{
printf("缺乏左括號\n");
exit(ERROR);
}
default: p++; /* 其它字符不處理,指針向后移 */
}
if(StackEmpty(s)) /* 字符串結束時???*/
printf("括號匹配\n");
else
printf("缺乏右括號\n");
}
}
void main()
{
check();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -