2012-02-29 14 views
0

可能性の重複:main()関数の最後でreturn 0;文の目的は何である:私はしばらくの間、これを思ってきた
What should main() return in C/C++?
What does main return?main関数 - 戻り値のポイントは何ですか?

最後の関数のreturn文は、それを呼び出した関数に値を返すことがわかりました。しかし、私が理解しているように、主な機能はプログラムの開始点と終了点です。なぜ戻り型があるのか​​少し混乱します。

main() 
{ 
    //code goes here 

    return 0; // <-- what is the point of this return statement? 
} 

編集:私は、プログラミング(初年度コンピュータサイエンスの学生)に、それが完了した場合にはreturn文は関数の呼び出し元に伝えるために使用されているように聞こえるの答えのいくつかを見た後にかなり新しいです成功しました。 OSやコマンドライン以外に、主な機能を呼び出すことができるものは他にありますか?

+0

[この回答](http://stackoverflow.com/a/207992/160206)が役に立ちます。 –

答えて

1

プログラムを実行している環境に、正常に完了したかどうかを知らせるために使用されます。これはスクリプトからコマンドラインツールを実行する場合、コマンドラインツールにとって重要です。

成功した場合は0またはEXIT_SUCCESS、失敗した場合はEXIT_FAILUREを返します。定数は<cstdlib>で定義されています。

ご希望の場合は、mainの末尾のreturn文を省略することができます。結果は0と同じ結果になります。これは、mainの特別なケースです。他の非void関数からの値も返さなければなりません。

OSとコマンドライン以外にも、main関数を呼び出すことができるものはありますか?

No-C++では、プログラム内からmainを呼び出すことは特に禁止されています。

0

リターンは通常、プロセスが正しく実行されたかどうかを示します。たとえば、エラーがあった場合は-1を返すことができます。

0

戻り値は、呼び出し側に終了ステータスを提供します。あなたが戻るか、プログラムが実行されて正常に完了したことを示すexit(0)。プログラムが正常に完了していないと判断した場合は、他の値を返すことができます。ところで署名はint mainです。

0

OSに返される値です。たとえば、UNIXベースのシステムでは、シェルまたはスクリプトで$?を使用して値をポーリングできます。

関連する問題