プログラムで0を返す必要がありますか?なぜですか?


ベストアンサー

戻り値0 。うん!このことはいつも私を悩ませました。しかし、後で深い研究と実践の後。

関数にはパラメーター(または引数)があります。したがって、これらのパラメータには何らかの値があるはずです。その後、これらは呼び出された場所からプログラムに戻されます。このreturnステートメントに言及した行は、それとともに言及された変数の値をすぐに返します。例: return a;

場合によっては、値を返す必要はありません。たぶん、からプログラムに戻る必要があります。値を返さずにのみ機能します。その場合、 return 0; これは0またはNULL値を返すことを意味します。

基本データ int、char、float などのタイプでは、プログラムに戻るために最後にreturn0ステートメントが必要です (またはプログラムを終了する)値を返さない場合。ただし、別の基本的なデータ型 void は必要ありません。これにはデフォルトの戻り値があります。 0ステートメント。名前自体が示唆しているように、 void を意味します。

理解していただければ幸いです。練習と探索を続けてください。すべてを理解できます。

回答

int 関数名

main 、 は関数の戻り値のデータ型を指定します。 main関数は常にintを返す必要があります。

オペレーティングシステム(OS)がある環境では、OSがプログラムの実行を開始します。 mainから返される整数は、プログラムがOSに値を伝達して、プログラムが成功したか、失敗したか、または数値結果を生成したかを示す方法を提供します。 OS(またはOSでプログラムを実行するために使用されたバッチファイルまたはスクリプト)は、この整数値を調べて、それについていくつかの決定を下すことができます。返される整数は任意の値にすることができますが、ほとんどの(すべてではない)プログラムが使用する一連の規則があります。

  • エラーが発生しなかったことを示すために、ゼロ値が返されます。 (cstdlib C ++ヘッダーとstdlib.hCヘッダーファイルはどちらも、この目的のためにEXIT\_SUCCESSシンボルを定義します。その値は実装定義ですが、実際には通常は0です。)これが、通常0を返す理由です。 main関数の最後にあるステートメント。整数値0をOSに送り返し、プログラムが成功したことを示します。
  • エラーが発生したことを示したり、特定の結果値を提供したりするために、ゼロ以外の値が返されます。
  • li>

  • 負の値は、エラーが発生したことを示すためによく使用されます。たとえば、-1はエラーが発生したことを示すために使用されたり、特定の負の値は特定のタイプのエラーが発生したことを示したりする場合があります。
  • 正の値はエラーが発生したことを示すために使用されることがあります。たとえば、1はエラーが発生したことを示すために使用される場合があり、特定の正の値は特定のタイプのエラーが発生したことを示す場合があります。 (cstdlib C ++ヘッダーとstdlib.hCヘッダーファイルはどちらもこの目的のためにEXIT\_FAILUREシンボルを定義します。その値は実装定義ですが、実際には通常1です。)
  • 正の値が使用されることがあります。結果を提供します。たとえば、単語カウントプログラムは、カウントされた単語の数を表す正の値を返す場合があります。テキストファイル比較プログラムは、検出された差異の数を返す場合があります。

繰り返しますが、返される値の意味は単なる慣例です。 Cプログラムと、プログラムを起動しているOS内のバッチファイル、スクリプトなどは、戻り値の意味について合意する必要があります。

何を選択するかは主な機能次第です。整数値をOSに返す必要があります。 (OSのない環境では、返される整数は実装固有であるため、詳細についてはドキュメントを確認してください。)プログラムのユーザー向けに、mainによって返される可能性のある特定の値とその意味を文書化する必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です