使用堆栈来检查c中HTML标记的平衡

时间:2017-09-28 17:34:30

标签: html c stack

我正在尝试使用c中的堆栈检查HTML标记余额。这是我的代码的样子:

void tagcheck()
    {
        FILE *fp;
        fp=fopen("html.txt","r");
        char ch;
        while(ch=getc(fp)!=EOF)
        {
            if(ch =='<')
            {   
                push(ch);

                while(ch=getc(fp)!='>')
                {
                     if(ch=='/')
                     {
                        pop();
                        while(ch!='<')
                        {
                           ch=getc(fp);
                           pop();
                        }
                           pop();
                           continue;
                    }
                    else if(ch=='!')
                    {
                     pop();
                     continue;
                    }
                    push(ch);
               }
          }
      }
if(s->top=-1)
{
    printf("No Tag Error\n");       
}
else
    printf("Tag error\n");
    fclose(fp);
}

当我尝试运行它时,由于某种原因,ch=='<'条件为false并且循环有点浪费。这有什么问题?

我检查了没有问题的文件名和路径。

0 个答案:

没有答案