關(guān)于主函數(shù)的問題
以前學(xué)過C 現(xiàn)在重拾 以前記得主函數(shù)的聲明是 void main() 現(xiàn)在的聲明是int main() 在函數(shù)結(jié)束時(shí)加個(gè)return 0?
如果我用Void來聲明 是不是后面不用return 0 了?還有現(xiàn)在還能用void 嗎?
以前學(xué)過C 現(xiàn)在重拾 以前記得主函數(shù)的聲明是 void main() 現(xiàn)在的聲明是int main() 在函數(shù)結(jié)束時(shí)加個(gè)return 0?
如果我用Void來聲明 是不是后面不用return 0 了?還有現(xiàn)在還能用void 嗎?
舉報(bào)
2015-03-01
你不是問過這個(gè)問題了么...
關(guān)于return:
對(duì)于main:
已經(jīng)說過了main函數(shù)不能聲明為返回void。老的標(biāo)準(zhǔn)中不能省略main的return語句。但是在C99中,如果在main中省略最后的return,編譯器會(huì)自動(dòng)認(rèn)為返回0。注意:這只對(duì)于main函數(shù)有效。
對(duì)于其他函數(shù):
如果聲明返回void的話,是可以省略函數(shù)最后的return語句的。
可如果聲明了返回類型,但最后又沒有寫return的話,函數(shù)的調(diào)用者收到的返回值是未定義的,一般是不確定的值。所以一定要避免漏寫return。(一般編譯器能檢查出這種錯(cuò)誤)
2015-03-01
gcc支持ANSI C,C99和C11.
2015-03-01
C89的標(biāo)準(zhǔn)里void main()可以,但在C99中main必須返回一個(gè)int,后面加return 0;表示程序正常退出,當(dāng)然,編譯器也會(huì)幫你干這事,建議用新標(biāo)準(zhǔn)的方法。若考慮到老機(jī)器的移植,可能C89更好。
2015-03-01
沒人理嗎?