去除cpp中注釋的小程式

2021-04-25 22:52:07 字數 2502 閱讀 9612

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

#include"stdio.h"

#define checkinputerror(ch)  if(scanf("%c",&ch) == eof)

#define error  printf("error!/n");return;

static int dqm = false;// 雙引號 double quotation marks

static __int64 all = 0;

void main()

if(ch1 == '/n' && ch != '//')

ch = ch1;}}

else if(ch == '*')

}else

}//如果讀到單引號,  這裡還沒有處理空字元 ''

else if(ch == '/'')

do //else if(ch1 == '//' && ch == '/"')

else if(ch1 == '//' && ch == '/'')

ch1 = ch;

} while(ch != '/'');

}//如果讀到雙引號

else if(ch == '/"') //識別出了空串

do else

if(ch1 == '//' && ch == '//')

ch1 = ch;

} while(ch != '/"');

}//正常輸出字元

else

}printf("/n //all = %i64d/n",all);}/*

//按 / / ' * 四個符號的相互巢狀作用分析,分成四種情況,/

採用一次掃瞄配對處理。

//每次讀字元都要判斷是否到 eof

while(fin >> ch)

}else if 是 * :

判斷後面連續輸入的兩個字元為 *和/ 後,break

else :

輸出  / 和 ch

else if 讀到 ' :

fin >> ch1

輸出 ' 和 ch1

if ch1 是 ' : 識別了空字元,continue

do:繼續輸入後續字元

//識別兩個連續字元為 /"  ,則輸出 /" ,往後跳過兩格

識別兩個連續字元為 //  ,則輸出 // ,往後跳過兩格 //避免 / 被重用

識別兩個連續字元為 /'  ,則輸出 /' ,往後跳過兩格 //避免 ' 被誤判為第乙個 ' 的配對符

不是以上情況,則判斷位置後移一格字元

while 輸入字元 != '

else if 讀到 " :

fin >> ch1

輸出 " 和 ch1

如果ch1 是雙引號:  contiune   //識別為空串

do:繼續輸入後續字元

識別兩個連續字元為 /"  ,則輸出 /" ,往後跳過兩格

識別兩個連續字元為 //  ,則輸出 // ,往後跳過兩格

不是以上情況,則判斷位置後移一格字元

while 輸入字元 != "

else :  按正常情況輸出 ch  

}/*//測試用例:

//abc/

abc,/

不接著 /

abc,接著/

printf("不可思議/n");///

強/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

C 中 注釋和 注釋的區別

會被編譯,不會 所以使用 會減慢編譯的速度 但不會影響執行速度 會在其它的人呼叫你的 時提供智慧型感知 也是一種注釋,但是這種注釋主要有兩種作用 1.這些注釋能夠生成乙個xml檔案。這樣呢,看起來會對程式的內容一目了然。2.以這種方式對你的類,屬性,方法等等加上注釋之後,當你在其他地方使用以這種方式...

c 中 注釋和 注釋的區別

會被編譯,不會 所以使用 會減慢編譯的速度 但不會影響執行速度 會在其它的人呼叫你的 時提供智慧型感知 也是一種注釋,但是這種注釋主要有兩種作用 1.這些注釋能夠生成乙個xml檔案。這樣呢,看起來會對程式的內容一目了然。2.以這種方式對你的類,屬性,方法等等加上注釋之後,當你在其他地方使用以這種方式...

python中注釋的寫法

說明 記錄在python中注釋的寫法。1.單行注釋,行以 開頭 這是乙個單行注釋 print hello world 2.多行注釋,使用三個單引號,或者三個雙引號將其要注釋的內容擴起來 這是乙個單行注釋 第一行要注釋的內容 第二行要注釋的內容 第三行要注釋的內容 print hello world ...