注释程序最后那出问题了?
#include"stdio.h"void progress(char* str){
char *beg,*tmp,rt=0;
while(*str)//rt表示是否注释
{
if(*str=='\"')
{
while(*++str!='\"')
if(*str=='\\')str++;
str++;
}
else if(rt==0 && *str=='/')
{
beg=str++;
if(*str=='*' || *str=='/')
rt=(*str=='*')+1;
}
else if( (rt==1 && *str=='\n') || (rt==2 && (*str=='*' && *++str=='/')) )
{
tmp=beg;str++;
while(*beg++=*str++);
str=tmp;rt=0;
}
else
str++;
}
}
int main(){
char str[]="//============\n //simplest program\n//==============\n#include<iostream>\nusing namespace std;\n//----------------\nint main(){\ncount<<\"hello world!\n\";\n}//--------";
printf(str);
printf("\n***********************\n");
progress(str);
printf("\n***********************\n");
printf(str);
getchar();
return 0;
}
中显示结果最后面//---------去不掉这么回事?