编辑代码

#include <stdio.h>
#include <string.h>
int output(char *s)
{
    int stack=0;
    int cnt=0;
    for(int i=0;s[i]!='\0';i++)
    {
        if(s[i]=='(')//右括号入栈
        {
            stack++;
        }
        else if(s[i]==')') //左括号出栈
        {
            if(stack>0)
            {
                stack--; //遇到一个匹配出一个括号,出一个
                cnt++;
            }
        }
    }
    return cnt;
}

int main () {
    // 成对括号的个数,()是一个,(())是两个
    // 输入str = "((())(()()())()))))
    char s[100010];
    scanf("%s",s);
    int len = strlen(s);

    printf("%d", output(s));
}