花之剑'HOME

一朵飘舞在风中的雪花,挣扎着,不想被融化。

原创:去除程序中所有的注释

Posted on 2007-08-16 20:53 花之剑 阅读(260) 评论(0)  编辑  收藏 所属分类: c/c++ & algorithm

/*去掉所有注解*/
#include<stdlib.h>
#include<stdio.h>
int main()
{
 char *s;
 char c;
 int  tag=0,n=0,quto=0;
 while((c=getchar())!=EOF)
 {
  if(quto==0)
  {
   if(c=='/' && tag==0) tag=1;
   else if(tag==1 && c=='/') tag=2; //
   else if(tag==1 && c=='*') tag=3;
   else if(c=='*')    n=1;
   else if(n=1 && c=='/')   n=2;
   else if(tag==0 && c=='"') quto=1;

   if(tag==2)
   {
    if(c!='\n')
    continue;
    else tag=0;
   }else if(tag==3)
   {
    if(n==2)
    {tag=0;n=0;}
    continue;
   }else if(tag==1)
    continue;
   putchar(c);
  }else if(quto==1)
  {
   putchar(c);
   if(c=='"')
    quto=0;
  }
   
 }
 return 0;

}


只有注册用户登录后才能发表评论。


网站导航: