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