为什么此程序得不到东西?

问题是输入一行以#结尾并且含()的字符,如:djdushh(dhdh)sjsj#
对其进行处理,删去()及括号内字符和#,输出结果。如:djdushhsjsj
我的程序是:
#include
int main()
{char a[100];
int i=0;
do{scanf("%c",&a[i]);
i++;
}while(a[i]!='#');
i=0;
do{

if(a[i]=='(') do{i++;
}while(a[i]!=')');
else{
printf("%c",a[i]);
i++;
}
}while(a[i]!='#');
}

得不到东西,为什么?

输入的时候直接判断跳过括号内容
int main()
{
    char a[100] = {0}, ch;
    int i = 0, flag = 0;
    ;
    while ((ch = getchar()) != '#')
    {
        if (ch == '(')
        {
            flag = 1;
            continue;
        }
        if (ch == ')')
        {

            flag = 0;
            continue;
        }
        if (flag == 0)
            a[i++] = ch;
    }
    printf("%s", a);
}