假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())
或[([ ][ ])]
等为正确的匹配,[( ])
或([ ]( )
或(()))
均为错误的匹配。
现在要求检验一个给定表达式中的括弧是否正确匹配。
输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出OK,不匹配就输出Wrong。
输入1
([][])
输出1
OK
输入2
[(])
输出2
Wrong
OJ提示Segmentation fault: 段错误,检查是否有数组越界,指针异常,访问到不应该访问的内存区域的写法👇
俺不懂(T_T)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
struct Stack {
char* Base;
char* Top;
int stackSize;
};
struct Stack InitiateStack() {
struct Stack S;
S.Base = (char*)malloc(20 * sizeof(char));
S.Top = S.Base;
S.stackSize =