2013-10-07 49 views
-7

此C程序返回值爲1.返回值1和返回值1的含義是什麼?C中返回值1的含義

void main(){ 
;; 
;;"Hi";; 
;; 
} 

當我使用int main()然後我得到編譯時錯誤 - [Error] ld returned 1 exit status

+2

閱讀有關[*未定義的行爲*](http://en.wikipedia.org/wiki/Undefined_behavior)。 –

+1

'無效main'是不合法的C++(或CI認爲) – john

+0

這個程序是無效C.'main'應該被聲明爲返回'int',不'void' – hugomg

回答

2

這個C程序的返回值是1,什麼是返回值1的含義,以及爲什麼它返回1?

在這種情況下,它意味着什麼(未定義行爲)。

而當我使用int main()中,然後我得到編譯時錯誤 - [錯誤] LD返回1個退出狀態

這就意味着程序異常終止

main的返回值是一個狀態碼that--在一些操作的程序終止時systems--可以進行測試。如果程序正常結束,main應返回0;表示異常終止,main應返回0以外的值。 (實際上沒有規則阻止我們使用返回值用於其他目的)。

+3

實際上,這可能並不意味着什麼。 @larsmans; –

+0

@larsmans;我明白了你的觀點。 @larsmans; – haccks

+0

@larsmans;我編輯了我的答案。 – haccks

2

首先有沒有像在Cvoid main()main()應該總是返回整數。所以返回的值可能是你的情況。 void main()在c標準中未定義。看看Here

根據ISO/IEC 9899 5.1.2.2.1

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int ..