看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《freaky (jon)》之銘言: : ※ 引述《khoguan (Khoguan Phuann)》之銘言: : : void main() { } 是早年 DOS 時代 MS 的編譯器就搞出來 : : 不符標準的東西。因為多數人,包括英文、中文編程書籍的 : : 作者,都在 MS 的淫威下討生活,所以就一直持續出現這種 : : 寫法。 : 請問這是那裡來的說法? : ISO C Standard 並未禁止 main() 的傳回值宣告成 int 以外的值, : 只有 ISO C++ Standard 有這項規定; 而大部份的 compiler : 都是 C/C++ 通吃, 因此有些實作允許 void main() 的寫法. : 允許這種做法的也不只 MSVC, 還有 IBM VisualAge C/C++, : Watcom C/C++ 等. 請先參考 C FAQ 這兩則: http://www.eskimo.com/~scs/C-faq/q11.12.html http://www.eskimo.com/~scs/C-faq/q11.14.html 我說它不符標準的意思是說,只有將 main() 的傳回值宣告成 int 才是 blessed by the standard and guaranteed to be portable for any conforming C (or C++) implementation. 至於 void main() 的始作俑者,我是在 comp.lang.c* 上看到 人家說是 MS 搞出來的。請讓我再找一下有無更權威的證據。 BTW, 你所舉的實作也都是限於 MS 平台的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: khoguan 來自: 220.130.208.168 (08/25 00:02)
hardcover:建議不要讓對平台的偏執延燒到的程式語言 XD 59.113.86.189 08/25
hardcover:不然嘴砲文會和 linux板一樣多 XD 59.113.86.189 08/25
khoguan:謝謝樓上的提醒。220.130.208.168 08/25