• ベストアンサー

return 0; return 1; まで同じ

#include <stdio.h> int main() { printf("%d %c\n", 65, 65); return 0; }  コンパイル後は 65 A  return 1;も同じでした。 しかし  return 2;すると  Exited: ExitFailure 2  終了しました:出口の失敗2 となります。  2以上でしたら、出口が塞がるのでろうぐらいしかわかりません!?    どんなバクなのでしょうか!?  よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

C 言語の仕事は「0 なり 1 なり 2 なりを返す」までであり, その値にどう対処するかは (「C のプログラム」としては処理を完全に終了しているので) C のあずかり知らぬところです. なので, 「どんなバクなのでしょうか!?」というのはあなたの使っている OS なりシェルなりなんなりに聞いてください.

Campus2
質問者

お礼

 ご回答ありがとうございます。 http://codepad.org/  でのコンパイルはバグ的な要因ある可能性がある との他の方からのご指摘がありまし。  現在  http://ateliereclair.blog.fc2.com/blog-entry-51.html  で行けそうとの回答を得ましたので、現在構築中です。 それでどうなるのか判断します。

Campus2
質問者

補足

ご回答ありがとうございます。  コンパイラ-ソフトは  http://codepad.org/ を使用しています。  

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

>http://codepad.org/ ためしてみましたが、return 1; でも Exited: ExitFailure 1 が出ますね。出なかったというのは、勘違いでは? 他の方も書いていますが、return の結果をどう使うかは使う側の問題です。

Campus2
質問者

お礼

 ご回答ありがとうございます。 http://codepad.org/  でのコンパイルはバグ的な要因ある可能性がある との他の方からのご指摘がありまし。  現在  http://ateliereclair.blog.fc2.com/blog-entry-51.html  で行けそうとの回答を得ましたので、現在構築中です。 それでどうなるのか判断します。

Campus2
質問者

補足

ためしてみましたが、return 1; でも Exited: ExitFailure 1 以上ですが 私のパソコンだと   添付ファイルが証拠です。  以下アドレスから確認ができます。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14137842974

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

それはバグではなく、あなたが「このプログラムはエラー終了した」とプログラムを実行した相手に通知するようにコーディングした結果で、正常な動作です。 詳しいことは参考 URL の記事をお読みください。

参考URL:
http://www.geekpage.jp/programming/c/return-main.php

関連するQ&A