什麼價值這個函數返回。只是簡單的主要。
main()
{
...
}
如果一個函數有兩個市電,會發生什麼?
什麼價值這個函數返回。只是簡單的主要。
main()
{
...
}
如果一個函數有兩個市電,會發生什麼?
此函數返回什麼值。
main
需要聲明爲返回int
。返回值傳遞給調用者,通常是操作系統。
5.1.2.2.1 Program startup
稱爲在程序啓動的功能被命名爲主力。該實現聲明不具有此功能的原型 。它應爲int的返回類型和不帶 參數來定義:
int main(void) { /* ... */ }
或兩個參數(這裏稱爲argc和argv,雖然任何人的名字,可以 使用,因爲它們是本地在聲明它們的功能):
int main(int argc, char *argv[]) { /* ... */ }
如果一個函數有兩個電源,會發生什麼?
鏈接器報告錯誤。
如果在託管環境中達到}
,則在C99/C11中,main
返回0
。否則,返回值是不確定的。
C11,§5.1.2.2.2程序執行
[...]到達該終止
main
功能}
返回0
的值假設你」重新使用C89或更早的編譯器,然後
main()
{
...
}
返回int
。如果您使用的是C99或更高版本的編譯器,那是錯誤的。
從C99開始,如果沒有顯式返回而到達main
的結尾}
,則返回值爲0.不確定C89或更早版本。
不知道「一個功能有兩個主電源」應該是什麼意思。如果程序定義了兩個main
函數,那麼在鏈接時您很可能會得到重複的定義錯誤。
_「如果一個函數有*兩個主電源」_? –
很明顯,第一個'主'被優先考慮,除非你在第二'主'上設置'FirstMain'屬性,那麼順序無關緊要 – MStodd
我會用_why_?來解決你的問題。當它不能編譯時,爲什麼要放兩個電源?爲什麼不按照標準,只有一個主返回一個int? – Mike