-7

この C プログラムの戻り値は 1 です。戻り値 1 の意味と 1 を返す理由は何ですか?

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

そして、使用するとint main()、コンパイル時エラーが発生します-[Error] ld returned 1 exit status

4

2 に答える 2

3

この C プログラムの戻り値は 1 です。戻り値 1 の意味と 1 を返す理由は何ですか?

この場合、それは何でも意味します (未定義の動作)。

そして、int main() を使用すると、コンパイル時エラーが発生します - [エラー] ld が 1 終了ステータスを返しました

プログラムの異常終了を意味します。

の戻り値mainは、一部のオペレーティング システムでは、プログラムの終了時にテストできるステータス コードです。プログラムが正常に終了した場合にmain戻る必要があります。0異常終了を示すには、main以外の値を返す必要があります0。(実際には、戻り値を他の目的に使用することを禁止するルールはありません)。

于 2013-10-07T12:43:02.377 に答える
2

まず第一に、のようなものはありませvoid main()Cmain()常に整数を返す必要があります。したがって、戻り値はあなたのケースでは何でもかまいません。void main()c 標準では定義されていません。こちらをご覧ください。

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 ..

于 2013-10-07T12:45:12.540 に答える