Re: [討論] 有關main
看板C_and_CPP (C/C++)作者khoguan (Khoguan Phuann)時間19年前 (2005/08/24 19:05)推噓7(7推 0噓 3→)留言10則, 6人參與討論串1/3 (看更多)
: 推 jeunder:我記得main可以不用寫return, 這是standard規定. 61.64.150.151 08/24
: → randylau:7738 有寫到唷 140.113.22.24 08/24
: 推 sjgau:void main() { }// 不用 return() 210.243.237.65 08/24
: → sjgau:int main() { return(0); }// 需要 return() 210.243.237.65 08/24
: 推 jeunder:不, int main() { } // 就算不寫return也是被允 61.64.150.151 08/24
: → jeunder:許的... 這是standard規定的 :) 61.64.150.151 08/24
: → jeunder:在main裡, 不寫return就代表了return 0 61.64.150.151 08/24
: → jeunder:而 void main() { } 這種寫法根本上就是不合規範 61.64.150.151 08/24
: 推 amymayyam:是可以被允許 可是不知道好還是不好 218.164.85.148 08/24
: 推 amymayyam:想問的是 會不會傷環境 218.164.85.148 08/24
: 推 kakashiliu:void main() { }記得好像是不太好的寫法 61.58.173.56 08/24
void main() { } 是早年 DOS 時代 MS 的編譯器就搞出來
不符標準的東西。因為多數人,包括英文、中文編程書籍的
作者,都在 MS 的淫威下討生活,所以就一直持續出現這種
寫法。
尤有甚者,即使標準說 int main() { } 不寫 return 0;
針對 main() 函式來說,就是要求編譯器自動幫我們在最後
補上 return 0; 這道敘述(但其他的函式就沒這種特權)。
MS 的編譯器卻不肯這樣做,還會多事警告你沒有 return,
讓很多人覺得刺眼,為了省事,就用 void main() { } 了。
我感到慶幸的是,我看的 C 或 C++ 書,沒有一本是寫
void main() 的,而且我以前也沒在用 MS 的 compiler,
現在是有在用 VC++ 7.1,不過 MS 變得比較重視標準了,
所以也沒有什麼問題(不過它還是繼續接受 void main()
的用法)。是因為看到別人提問,才去追蹤問題的根源。
對於初學者,我想建議說,如果你看的書,仍是寫 void main(),
你用的 C++ compiler 仍然對你寫 int main() { } 但沒寫 return
發出警告,那就換一本好書,換一套夠新夠符合標準的編譯
環境吧,網路都有免費的可用,不好好利用,豈不辜負了提
供這些寶藏的好人大大們? ;-)
特別是萬惡的罪魁 VC++ 6.0,或者是實在已經太古老的
Turbo C++,請初學者就不要再用了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.208.168
推
61.58.173.56 08/24, , 1F
61.58.173.56 08/24, 1F
推
218.164.85.148 08/24, , 2F
218.164.85.148 08/24, 2F
推
220.130.208.168 08/24, , 3F
220.130.208.168 08/24, 3F
推
203.73.81.31 08/24, , 4F
203.73.81.31 08/24, 4F
推
61.70.137.117 08/24, , 5F
61.70.137.117 08/24, 5F
推
220.130.208.168 08/25, , 6F
220.130.208.168 08/25, 6F
→
220.130.208.168 08/25, , 7F
220.130.208.168 08/25, 7F
→
218.164.85.148 08/25, , 8F
218.164.85.148 08/25, 8F
→
218.164.85.148 08/25, , 9F
218.164.85.148 08/25, 9F
推
06/26 17:46, , 10F
06/26 17:46, 10F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章