欢迎来到天天文库
浏览记录
ID:50834992
大小:36.95 KB
页数:2页
时间:2020-03-15
《删除C语言程序源代码中的注释.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/*删除源代码中的注释(/*...*/形式)**采用最原始的思路和方法实现*/#include#includeintmain(intargc,char*argv[]){charsource[]="#include///***ab///*cdef***/***#include"stdlib.h"intmain(intargc,char*argv[]){tinta=9;/*laf*/tprintf("/*O
2、K*/%d,",a);treturn0;}";/*原始代码*/chartarget[1024]={' '};/*过滤注释后的代码*/intlen=0;inti=0;intj=0;charfirstChar;charsecondChar;charstringSign;while(source[i++])len++;/*求source串的串长*/printf("%s",source);/*显示原始代码*//*按字符扫描原始代码并处理*/for(i=0,j=0;i3、+){firstChar=source[i];secondChar=source[i+1];stringSign=source[i];/*字符串常量标识*/if(stringSign!='"')if(firstChar!='/')/*复制非注释字符*/target[j++]=firstChar;elseif(secondChar=='*'){/*扫描到连续的/字符和*字符,进入注释*/i=i+2;while(1){if((firstChar=source[i])!='*')i++;/*过滤注释4、字符*/elseif((secondChar=source[i+1])!='/')i++;elsebreak;/*扫描到连续的*字符和/字符注释部分结束*/};firstChar=source[++i];/*过滤注释部分的最后的字符/*/}elsetarget[j++]=firstChar;/*复制单独的/字符后的非注释字符*/else{do{target[j++]=stringSign;stringSign=source[++i];}while(stringSign!='"');/*复制字符5、串*/target[j++]=stringSign;}}target[j]=' ';printf("%s",target);system("pause");}
3、+){firstChar=source[i];secondChar=source[i+1];stringSign=source[i];/*字符串常量标识*/if(stringSign!='"')if(firstChar!='/')/*复制非注释字符*/target[j++]=firstChar;elseif(secondChar=='*'){/*扫描到连续的/字符和*字符,进入注释*/i=i+2;while(1){if((firstChar=source[i])!='*')i++;/*过滤注释
4、字符*/elseif((secondChar=source[i+1])!='/')i++;elsebreak;/*扫描到连续的*字符和/字符注释部分结束*/};firstChar=source[++i];/*过滤注释部分的最后的字符/*/}elsetarget[j++]=firstChar;/*复制单独的/字符后的非注释字符*/else{do{target[j++]=stringSign;stringSign=source[++i];}while(stringSign!='"');/*复制字符
5、串*/target[j++]=stringSign;}}target[j]=' ';printf("%s",target);system("pause");}
此文档下载收益归作者所有