1

特定の質問に対する回答を見つけるために検索しましたが、一致する回答が見つかりませんでした。私はそれを理解しreturn 0return EXIT_SUCCESS基本的にプログラムが正常に終了したと言うのと同じことをしますが、そのことについて、または他の int 値を実行するとどうなりますreturn 1return 2? 異なる int 値はコンパイラにとって異なることを意味しますか、または int を返すことは単にプログラムが正常に終了したことを意味しますか?その場合、どの int 値を入力しても問題ありませんか? 私の(限られた)知識では、int main()終了するには int を返すだけでよいようです。私が間違っている?

ありがとうございます。これが以前に尋ねられた場合は申し訳ありませんが、私はそれを見つけることができませんでした。

4

2 に答える 2

0

それは問題である。0またはのステータスで終了した場合、プログラムが main 関数の最後に正しく到達した (または呼び出された)EXIT_SUCCESSことがわかります。exit(0)ただし、プログラムの任意の時点でexit(1)orreturn 1を使用して、プログラムが停止すべきでない場所に移動した場合、つまりエラーが発生した場合にプログラムを停止できます。

さまざまな番号を使用してさまざまなエラーを識別することができるため、プログラムが終了した場所を正確に知ることができますが、正常に終了するには、0またはを返す必要がありますEXIT_SUCCESS

于 2013-07-10T22:05:18.907 に答える
0

出典: http://en.wikipedia.org/wiki/Exit_status

「返されるコードの特定のセットは、それを設定するプログラムに固有のものです。通常、それは成功または失敗を示します。関数またはプログラムによって返されるコードの値は、失敗の特定の原因を示す場合があります。多くのシステムでは、値が高いほど[1] あるいは、各ビットが異なる状態を示している可能性があり、それらを論理和演算して最終値を求めます。たとえば、fsck はこれを行います。

つまり、-0 またはEXIT_SUCCESSプログラムが正常に実行されたことを示します。その他の値 ( を含むEXIT_FAILURE) は、失敗を示すために使用されます。個々のプログラムは、オプションで異なるプログラム定義コードを使用して、異なる失敗理由を示すことができます。

于 2013-07-10T22:00:08.173 に答える