Posted on 2007-08-16 20:53 
花之剑 阅读(272) 
评论(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;
}