main可以建立兩個多項式,相加后得到另一個多項式。并輸出這三個多項式。然后釋放鏈表空間。結束程序。
網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、成都微信小程序、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了竹山免費建站歡迎大家使用!
考慮到main函數的特殊性,lz不明白這個問題可以理解。
main()是省略了返回值類型,C語言會默認認為成main的類型為int,在main()的函數體內要返回一個值,如return 0;
而void main()的返回值是void類型,也就是說沒有返回值。這樣在main()的函數體內你就不用寫return 0;或者return 1;之類的返回語句。
在一個程序中,可以說你看不出兩者的差別,因為main()是C語言的入口點,入口點如果返回了程序也就結束了,因此C語言的這個特性似乎沒用??蓻]用的話,C語言的設計者為什么要這么做呢?!肯定有用。
沒錯,前面我說的是在一個程序中,它似乎沒用。可如果一個程序prog2調用另一個程序prog1的話(這里指的是prog2直接調用prog1編譯好的可執行文件),那么這個特性就有用了。因為prog2要知道prog1運行之后的狀態。比如你用C寫了一個刪除文件的程序(暫且命名為delf),然后用另一個程序去調用delf,那么調用結果怎么樣???這個文件是否刪掉了?這是int main()就會派上用場了。C語言中默認的main如果返回為0,那么這個程序調用就成功了,其他值,則為不同的錯誤代碼。在你的delf程序中,如果那個文件刪除成功,那么就在int main()中返回0,其他調用delf的程序就知道,噢,這個操作成功了。
在unix/linux系統中的很多命令都是通過這種方式獲得運行結果的。
關于譚浩強的書,我想不用多說,發行量說明了一切。畢竟第二版在編寫的時候還比較早,而第三版根據很多現在的需要進行了改寫,內容當然會好些。鑒于lz是初學C,其實大可不必在這個問題上浪費太多時間,當你有了更多的項目經驗,對這個問題會有更深刻的理解。
上面我已經給出了main()、int main()和void main()的區別,但建議lz忽略這個差別,認為成二者一樣,先把C的其他部分學好。至于只寫成main(),我并不推薦,就算編譯器通過了,這種編程的風格也太不嚴謹,不利于好的習慣的養成。
在最新的 C99 標準中,只有以下兩種定義方式是正確的:
int main( void ) /* 無參數形式 */
{
...
return 0;
}
int main( int argc, char *argv[] ) /* 帶參數形式 */
{
...
return 0;
}
int指明了main()函數的返回類型,函數名后面的圓括號一般包含傳遞給函數的信息。void表示沒有給函數傳遞參數。關于帶參數的形式,我們等會討論。
瀏覽老版本的C代碼,將會發現程序常常以。
main()
這種形式開始。C90標準允許這種形式,但是C99標準不允許。因此即使你當前的編譯器允許,也不要這么寫。
你還可能看到過另一種形式。
void main()
有些編譯器允許這種形式,但是還沒有任何標準考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在于 C++ 或者 C 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。
//?C語言由bell實驗室創立,但后續分支太多
//?所以ISO(國際標準化組織)制定了統一標準
//?目前通過的標準主要有3個?C89?C99?C11
ASNSI?X3.159-1989????????????對應C89由ASNSI制定
ISO/IEC?9899:1990????????????還是C89,只是ISO從ASNSI那里“抄襲”過來,又稱C90
ISO/IEC?9899/AMD1:1995???????對于C89的補充,又稱C95
ISO/IEC?9899:1999????????????C99標準
ISO/IEC?9899:2011????????????C11標準
//關于main函數的標準在C89和C99又有差異
類型一,不指明返回類型
main?(){return?0;}
//這在C89中是合法的,因為不指明返回類型其實是隱含的告訴編譯器,這個函數返回類型是int
//這在C99中是非法的,因為C99要求顯式聲明所有函數
類型二,不書寫return?...;在main函數中
int?main(void){}
//?C89,?函數返回值未定義
//?C99,?當main函數返回類型為int,?且沒有寫return語句時,默認返回0
//?C99,?其他情況下,返回值未定義
類型三,定以返回值為非int
void?main(void)?{return;}
//?C89,?非法(不bb,?就是非法)
//?C99,?允許main函數返回類型由實現定義,支持void以及其他類型返回值
//?所以你的編譯環境,不支持C99標準
//?而你的書,比較“新”
//?建議書寫標準宏編譯
#if?__STDC_VERSION__??199901L????????//?標準支持C99
void?main(void)
#elif?defined?__STDC__????????????????//?支持標準C(89/99)
int?main(void)
#else?????????????????????????????????//?如果都不支持,我也很難受
#error?Standard?C?not?support
#endif
文章題目:c語言如何寫main函數 C語言的main函數
轉載源于:http://vcdvsql.cn/article40/dosdiho.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、品牌網站建設、網站收錄、網站設計公司、企業建站、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯