#include
#include
#define MAX_SIZE 100

typedef struct STACK
{
    int data[MAX_SIZE];
    int top;

}STACK;

void Init(STACK* p)
{
    p->top = -1;
}

int Is_empty(STACK* p)
{
    return (p->top == -1);
}

void Push(STACK* p, int data)
{
    if (Is_full(p))
    {
        printf("스택이 꽉찼습니다\n"); return;
    }
    else
    {
        p->data[++(p->top)] = data;
    }
}

int Pop(STACK* p)
{
    if (Is_empty(p))
    {
        printf("스택이 비어있습니다\n");
        return -1;
    }

    return p->data[(p->top)--];
}

int CheckMaching(char* str)
{
    STACK t;
    int i, len = strlen(str);
    char ch, open_ch;

    Init(&t);

    for (i = 0; i     {
        ch = str[i];

        switch (ch)
        {
        case '(':
        case '[':
        case '{':
            Push(&t, ch);
            break;
        case ')':
        case ']':
        case '}':
            if (Is_empty(&t)) return false;
            else
            {
                open_ch = Pop(&t);

                if ((open_ch == '(' && ch != ')') ||
                    (open_ch == '[' && ch != ']') ||
                    (open_ch == '{' && ch != '}'))
                {
                    return false;
                }
            }
            break;
        }
    }

    if (!Is_empty(&t))    return false;

    return true;
}
int main()
{
    char str[50];

    if (CheckMaching(gets(str)))
        printf("괄호 검사 성공\n");
    else
        printf("괄호 검사 실패\n");

    return 0;
}













인터넷 소스 있던거 따라쳐서 볼려는데 오류가 떠서 그런데

어떻게 해야하나요???