11

C++ の場合、3.6.1 メイン関数

(3.6.1/5) main の return ステートメントには、main 関数を終了し (自動保存期間を持つオブジェクトを破棄する)、戻り値を引数として exit を呼び出す効果があります。制御が return ステートメントに遭遇せずに main の最後に達した場合、結果は return 0 を実行することになります。

return 0 なしで C99 で次のことを行うことはできますか?

int main() { }
4

2 に答える 2

15

はい、C99}の時点で、 main の最後で に到達すると、 の戻り値の型がmainと互換性がある場合は 0 が返されますint

5.1.2.2.3 プログラムの終了

関数の戻り値の型がmainint と互換性のある型である場合、関数への最初の呼び出しからの戻りは、関数によって返された値を引数として関数mainを呼び出すことと同じです。11)関数を終了するに到達すると、値 0 が返されます。戻り値の型が と互換性がない場合、ホスト環境に返される終了ステータスは規定されていません。exitmain}mainint

于 2012-11-24T20:31:04.040 に答える
8

はい、C99 標準は次のように述べています (§5.1.2.2.3):

}関数を終了するに到達するとmain、値 0 が返されます。

于 2012-11-24T20:32:12.380 に答える