我有一個關於C語言評論的問題。 當我們寫例如C中雙斜槓後的分號
//this is the first step
這意味着一條評論。
但是,當我們寫
//this is the first step;
這是否也意味着一個評論?我的意思是,當我們雙斜槓後面添加分號,這是否意味着該程序的註釋部分或主要部分?
我有一個關於C語言評論的問題。 當我們寫例如C中雙斜槓後的分號
//this is the first step
這意味着一條評論。
但是,當我們寫
//this is the first step;
這是否也意味着一個評論?我的意思是,當我們雙斜槓後面添加分號,這是否意味着該程序的註釋部分或主要部分?
雙斜線註釋掉線肯定。編譯器會忽略整行(包括分號,是的)。
對於多行註釋,或評論的同一行的一些代碼,使用/ *註釋這裏*/
Wiki有一些很好的信息在這裏:http://en.wikipedia.org/wiki/C_syntax#Comments
注(來自維基):
C++樣式行註釋以//開始並延伸到 行的末尾。這種評論風格源於BCPL並且在C99中變得有效C 語法;它不提供原始的K個& R C也不在ANSI C:
解析雙斜線註釋後沒有字符。它被預處理器剝離。編譯器從來沒有看到它。
我會說分詞器。 – 2012-01-08 19:52:38
黑色斜槓怎麼樣? – 2012-01-08 19:58:18
雙斜線後的所有內容均爲註釋。
這包括分號,運算符,預處理指令,關鍵字甚至是貓。
編輯:
東西我覺得有趣:
//comment \
also part of the comment\
this too part of the comment
我想回斜線實際上解析。這是線條的延續特徵。值得一提的是我想。
我猜SO分析器不能識別字符,但它確實存在 - 至少在MSVC中。不知道它是否是標準的一部分。
編輯2:
由於@vsz指出,三字符將被解析即使評論:
/*
??/ is translated to \
the following is not safe:
*/
//do we really need this??/
i++;
前面的代碼i++;
不會得到執行,因爲??/
被\
取代因此i++;
成爲評論的一部分。
我可憐那些被預處理器殺死的可憐的貓。 – 2012-01-08 19:53:05
在這種情況下,貓是什麼? – 2012-01-08 19:53:07
只是爲了說明一下。 – 2012-01-08 19:55:27
//
-style註釋到行尾。分號不是專門處理的;分號結尾陳述,而註釋不是陳述。
它仍然是一個評論:這也不:
// Hello, world
也不是這:
// Hello, world;
將被執行
的//界定它後面在同一行一切。一切。那就是你可以確信,無論你選擇評論什麼都會留下評論。
與/ * * /可能出現混淆的對比。例如:
/*這是一個/ *壞註釋*/*/
//但這是一個/ *良好的註釋*/
分號是在註釋只是另一個角色。
這意味着將分號放在註釋行末尾的做法是某人在行編碼度量上作弊 ...基本計算將分號作爲語句的代理進行計數。他們應該爲自己感到羞恥。
仍然是一條評論,//之後的任何內容都將成爲評論。 – Serdalis 2012-01-08 19:51:38
無論是在兩個斜槓之後還是在換行之前,編譯器都會忽略它。 – nmagerko 2012-01-08 19:51:53
我倒下了,因爲這個問題沒有顯示研究。你甚至沒有嘗試過你最喜歡的編譯器(雖然不是正確性的指標,但它將構成研究)。 – 2012-01-08 19:59:21