日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

去除cpp中注释的小程序

發(fā)布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 去除cpp中注释的小程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


//本程序針對 vc++ 6.0 編譯器語法,使用者要保證測試用例能在 vc++ 6.0 下編譯通過

#include"stdio.h"
#define checkInputError(ch)? if(scanf("%c",&ch) == EOF) { printf("Error!/n");return; }
#define ERROR? printf("Error!/n");return;

static int DQM = false;// 雙引號 double quotation marks
static __int64 ALL = 0;
void main() {
?char ch,ch1;
?freopen("in.txt","r",stdin);
?freopen("out.txt","w",stdout);
?while(scanf("%c",&ch) != EOF) {
??//如果讀到正斜桿
??if(ch == '/') {
???checkInputError(ch);
???if(ch == '/') {
????bool flag? = false;
????while(true) {
?????if(scanf("%c",&ch1) == EOF) { printf("/n//正常到文件尾"); return; }
?????if(ch1 == '/n' && ch != '//') {
??????printf("/n"); break;
?????}
?????ch = ch1;
????}
???}
???else if(ch == '*') {
????checkInputError(ch1);
????while(true) {
?????checkInputError(ch);
?????if(ch1 == '*' && ch == '/') break;
?????ch1 = ch;
????}
???}
???else {
????printf("/%c",ch); ALL += 2;
???}
??}
??//如果讀到單引號,? 這里還沒有處理空字符 ''
??else if(ch == '/'') {
???checkInputError(ch1);
???printf("'%c",ch1); ALL+= 2;
???if(ch1 == '/'') { printf("/*識別出空字符*/"); continue; }
???do {
????checkInputError(ch); printf("%c",ch); ALL++;
????if(ch1 == '//' && ch == '//') {??//取消識別第二個 / 為轉(zhuǎn)義
?????checkInputError(ch); printf("%c",ch); ALL++;
????}
????//else if(ch1 == '//' && ch == '/"') {?? /*識別? /"? */ /
?????checkInputError(ch); printf("%c",ch); ALL++; /
????}
????else if(ch1 == '//' && ch == '/'') {??//識別 /'
?????checkInputError(ch); printf("%c",ch); ALL++;
????}
????ch1 = ch;
???} while(ch != '/'');
??}
??//如果讀到雙引號
??else if(ch == '/"') {
???checkInputError(ch1);
???printf("/"%c",ch1); ALL+= 2;
???if(ch1 == '/"') { printf("/*識別出了空串*/"); continue; }//識別出了空串
???do {
????checkInputError(ch); printf("%c",ch); ALL++;
????if(ch1 == '//' && ch == '/"') {?? //識別? /"
?????checkInputError(ch); printf("%c",ch); ALL++;
????}
????else
????if(ch1 == '//' && ch == '//') {??//取消識別第二個 / 為轉(zhuǎn)義
?????checkInputError(ch); printf("%c",ch); ALL++;
????}
????ch1 = ch;
???} while(ch != '/"');
??}
??//正常輸出字符
??else {
???printf("%c",ch); ALL++;
??}
?}
?printf("/n //ALL = %I64d/n",ALL);
}


/*

//按 / / ' * 四個符號的相互嵌套作用分析,分成四種情況,/
采用一次掃描配對處理。
//每次讀字符都要判斷是否到 EOF

while(fin >> ch) {
?if 讀到 / :
??fin >> ch.
??if 是 / :
???while(true) {
??? ?if fin >> ch == EOF : 正常到達(dá)文件尾,return
????if 遇到回車: { 輸出回車,break; }
???}
??else if 是 * :
???判斷后面連續(xù)輸入的兩個字符為 *和/ 后,break
???????? else :
???輸出? / 和 ch
? ?else if 讀到 ' :
??fin >> ch1
??輸出 ' 和 ch1
??if ch1 是 ' : 識別了空字符,continue
??do:
???繼續(xù)輸入后續(xù)字符
??? //識別兩個連續(xù)字符為 /"? ,則輸出 /" ,往后跳過兩格
???識別兩個連續(xù)字符為 //? ,則輸出 // ,往后跳過兩格 //避免 / 被重用
???識別兩個連續(xù)字符為 /'? ,則輸出 /' ,往后跳過兩格 //避免 ' 被誤判為第一個 ' 的配對符
???不是以上情況,則判斷位置后移一格字符
??while 輸入字符 != '
???
??? ?else if 讀到 " :
??fin >> ch1
??輸出 " 和 ch1
??如果ch1 是雙引號:? contiune?? //識別為空串
??do:
???繼續(xù)輸入后續(xù)字符
???識別兩個連續(xù)字符為 /"? ,則輸出 /" ,往后跳過兩格
???識別兩個連續(xù)字符為 //? ,則輸出 // ,往后跳過兩格
???不是以上情況,則判斷位置后移一格字符
??while 輸入字符 != "
?else :? 按正常情況輸出 ch??
}

*/

/*//測試用例:

? //abc/
abc,/
不接著 /
?abc,接著/
printf("不可思議/n");///
強(qiáng)/
printf("不可思議/n");/
?printf("不可思議/n");

//上面這整個用例可能被病毒利用

?//printf(""//n");
?printf("%c/n",'"');
?//printf("%c/n",''');
?//printf("%c/n",'');
?printf("'/n");
?printf("''/n");
?printf("///n");
?printf("%c/n",'/');
?printf("%c/n",'/'');
?printf("/' /n");
?printf("/"");
?printf("");
?printf("//");
?printf("///b///"");
?printf("%c",'1/3');
?printf("%c",'1/1/'');
?printf("%c",'1///'');
?printf("%c",'1///'/'');
?printf("%c",'/"/1');
?printf("%c",'/123');
?printf("%c",'/x43');
?printf("%c",'/好');
?printf("%c",'/"/3/"');
?printf("%c",'/'/3/'');
?printf("/中");
?// /*printf("*//*");
*/
//? /*/

//2009-03-25

總結(jié)

以上是生活随笔為你收集整理的去除cpp中注释的小程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中国极品少妇videossexhd 就要干就要操 | 偷偷操99| 麻豆国产原创 | 五月天激情国产综合婷婷婷 | 一级片视频在线观看 | 精品视频www | 亚洲无人区小视频 | 亚洲一区二区视频在线 | 色婷婷aⅴ一区二区三区 | 亚洲色图一区二区 | 天天插插| 日不卡| 婷婷久 | 午夜精品久久久久久久99老熟妇 | 国产美女无遮挡网站 | 亚洲国产欧美一区 | 日韩在线第一 | 日韩精品一区二区三区在线 | 日韩欧美黄色网址 | 亚洲欧美综合自拍 | 天天躁日日躁狠狠躁免费麻豆 | 色亚洲视频 | 天天av天天操 | 久草视频观看 | 爱操影院| 亚洲综合一 | 黄色69视频| 色悠久久综合 | 国产精品久久久久久吹潮 | 成人精品水蜜桃 | 成人av在线网址 | 男人干女人视频 | 日本成人在线网站 | 久久精品黄色片 | 天天摸天天碰 | 亚洲一区精品视频在线观看 | 中国妇女做爰视频 | 黄色视屏软件 | 日韩中文字幕免费 | 精彩久久| 国产精品久久久久一区二区 | av综合网站 | 国产精品久久网站 | 日韩av一区在线播放 | 久久精品无码一区二区三区免费 | 在线看片你懂 | 性一区| 国产黄色一级大片 | 日韩aaa| 探花视频在线观看 | 日韩大片免费在线观看 | 黄色福利网站 | 97精品熟女少妇一区二区三区 | 亚洲激情中文字幕 | 成人mv| 麻豆chinese新婚xxx | 国内精品国产成人国产三级 | 黄色的一级片 | 五月天丁香 | 国产视频一二区 | 亚洲精品91在线 | 狠狠鲁狠狠干 | 亚洲女优视频 | 人妻va精品va欧美va | 国产精品扒开腿做爽爽 | 日批视频免费在线观看 | 欧美激情综合色综合啪啪五月 | 人成免费在线视频 | 99在线精品视频免费观看20 | 91丝袜国产在线观看 | 91在线无精精品一区二区 | 亚洲一区 视频 | 国产99久一区二区三区a片 | 欧美极度另类 | 中文字幕精品视频 | 成年人小视频 | 开心激情播播网 | 欧美乱淫视频 | 丰满人妻一区二区三区免费 | 丁香婷婷久久 | 日韩视频网址 | 六月色丁香 | 99色在线 | 成人免费毛片网站 | 狂野欧美性猛交xxxx巴西 | 国产三区av | 色噜噜日韩精品欧美一区二区 | 91精品久久久久久久99蜜桃 | 五月天国产精品 | 欧美日韩国产高清视频 | 久久亚洲av午夜福利精品一区 | 国产精品成人69xxx免费视频 | 高潮毛片无遮挡 | 日韩中文久久 | 亚洲精品喷潮一区二区三区 | 亚洲视频导航 | 女同av在线播放 | 麻豆影视在线观看 | 大乳护士喂奶hd |