VC6詭異的中文注釋導致錯誤

2021-12-29 16:36:36 字數 508 閱讀 3353

引用:

最近遇到乙個奇怪的問題,**中的中文注釋能使程式出錯!!!

試看如下的**:

int main()

執行的結果居然是:a=0 b=0

分析後發現中間的賦值語句被當成了注釋,忽略掉了。

請問各位大蝦,是否遇到此現象?怎麼解釋?怎麼避免此現象?

編譯環境是vc++6.0。  

在這個帖子中,樓主出現了乙個很詭異的由於注釋不當出現的異常。

經過實際測試,該現象可以重複出現。

出現的條件是:

1.注釋完全是中文,不帶任何空格,英文或其它字元

2.使用/**/注釋,而不是//

3.在/*和中文注釋內容之前,插入乙個或乙個以上的*號時,編譯就會提示fatal error c1071: unexpected end of file found in comment

特此記錄。可能還有其它的情況。比如樓主就說他的**能編譯通過,但執行結果異常。

有興趣的可以動手試試。看看大家的結果如何。

VC6詭異的中文注釋導致錯誤

在這個帖子中,樓主出現了乙個很詭異的由於注釋不當出現的異常。經過實際測試,該現象可以重複出現。出現的條件是 注釋完全是中文,不帶任何空格,英文或其它字元 使用 注釋,而不是 在 和中文注釋內容之前,插入乙個或乙個以上的 號時,編譯就會提示fatal error c1071 unexpected en...

打造最強的VC6

你是否覺得vc.net或者vs2005太過龐大?你是否用慣了vc6不願意離開它,但卻總是苦於它對c 標準庫支援得不好?你是否覺得vc6的 提示功能很不完善?喜歡vc6的朋友,不用憂愁。採用下面的方法,我們將改造vc6為最強 大的編譯器。開始改造!一 準備 二 支援c 標準 安裝intel c 8.0...

VC6與高版本SDK的錯誤處理

1.解決unresolved external symbol public int thiscall cwnd killtimer unsigned int killtimer cwnd qaehi z 問題 出現這種問題多是由於混合使用了6.0和高版本的sdk的緣故,在vc包含的標頭檔案中只要將6...