#include <stdio.h>
int main(int argc, char *argv[])
{
char c1='\0',c2='\0',c3='\0';
char temp;
int mark=0;
int mark2=0;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
while(scanf("%c",&c3)!=EOF)
{
if(c2=='/')
{
if(c3=='/')
{
while(c3!='\n')
{
scanf("%c",&c3);
}
c2=c3;
scanf("%c",&c3);
}
else if(c3=='*')
{
while(scanf("%c",&c3)!=EOF)
{
if(c2=='*'&&c3=='/')
break;
c2=c3;
}
if(scanf("%c",&c3)==EOF)
mark2=1;
scanf("%c",&c2);
scanf("%c",&c3);
}
}
if(mark2!=0)
break;
if(mark!=0)
printf("%c",c2);
else
{
mark=1;
}
c1=c2;
c2=c3;
}
if(mark2==0)
printf("%c",c3);
return 0;
int main(int argc, char *argv[])
{
char c1='\0',c2='\0',c3='\0';
char temp;
int mark=0;
int mark2=0;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
while(scanf("%c",&c3)!=EOF)
{
if(c2=='/')
{
if(c3=='/')
{
while(c3!='\n')
{
scanf("%c",&c3);
}
c2=c3;
scanf("%c",&c3);
}
else if(c3=='*')
{
while(scanf("%c",&c3)!=EOF)
{
if(c2=='*'&&c3=='/')
break;
c2=c3;
}
if(scanf("%c",&c3)==EOF)
mark2=1;
scanf("%c",&c2);
scanf("%c",&c3);
}
}
if(mark2!=0)
break;
if(mark!=0)
printf("%c",c2);
else
{
mark=1;
}
c1=c2;
c2=c3;
}
if(mark2==0)
printf("%c",c3);
return 0;
}
采用毛毛虫法进行遍历,逐字处理。还可以通过一行一行的读取进行处理,在此不赘述。