2011-03-21 29 views
11

爲什麼下面的代碼會被編譯?該語言的哪一部分允許在C和C++代碼中添加URL?爲什麼要在C和C++代碼中插入URL?

int main() 
{ 
    http://www.stackoverflow.com 
    return 0; 
} 

在此先感謝,卡斯特羅。

+1

我繼續使用代碼格式來正確格式化問題,而不是使用塊引用 - 這使得它非常明顯,就像Daniel說的那樣。 – Cascabel 2011-03-21 05:22:11

+2

+1爲唯一的問題:) – Lukman 2011-03-21 05:26:17

+1

嘗試'goto http;':) – 2011-03-21 08:13:52

回答

21

如果有警告編譯,你會發現:

warning: label ‘http’ defined but not used 

這應該是足夠指示的問題在這裏。

http:文本被視爲標籤。

其次//否定其餘文本作爲評論,忽略它。

http://www.stackoverflow.com 

即使是SO語法顏色表示爲方案上面顯示這是真實的,作爲HTTP後的部分中,作爲註釋(變灰)處理。

3

這是因爲編譯器將http:作爲標籤,// whatever作爲註釋處理。這是完全合法的代碼。

除非您在某處使用goto http;,否則它將是完全無用的代碼。

1

在您的代碼中http只是一個標籤而//www.stackoverflow.com是一條評論。

還要注意的是

int main() 
{ 
    http://www.stackoverflow.com 
} 

int main() 
{ 
http://www.stackoverflow.com 
http://www.facebook.com 
return 0; 
} 

將無法​​編譯。

+0

爲什麼downvote? – 2011-03-21 05:47:24