ここから本文です

このプログラムのreturn 0;

アバター

ID非公開さん

2019/4/2210:06:58

このプログラムのreturn 0;

はなぜついてるんですか?
returnは、出力結果に0を出力するものだと思ってたのですが、違うんですか?

return 0,プログラム,出力結果,main.exe,echo off,batファイル,関数

閲覧数:
53
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

ter********さん

2019/4/2210:20:15

>returnは、出力結果に0を出力するものだと思ってたのですが、
>違うんですか?


違います。
というか、「出力結果に0を出力する」の意味がわかりません。「出力結果」とは、何を意味していますか?


returnは、上位プログラムへ値を返します。

mainが呼ぶ関数内のreturn値はmainに返され、
mainが呼ぶ関数Aが、さらに関数Bを呼んでいて、Bのreturn値はAに返されます。


mainのreturn値は、mainを動かしているOS(WindowsやUNIXなど)に返され、その値によって、mainが正常終了かエラー終了かや、エラー種類などを知らせます。

例.windowsのBATファイル
下記のBATファイルを実行すると、mainを実行した後に、return値を表示します。


@echo off
main.exe
echo %ERRORLEVEL%

  • ter********さん

    2019/4/2210:38:11

    補足。


    >このプログラムのreturn 0;
    >はなぜついてるんですか?

    このプログラムだけについて言えば、正常終了かエラーが起きたかに関わらず、常にreturn値として0を返しているので、意味はありません。

    プログラムの実行環境に関して、次の体制が整っているということをプログラム作成者へ告知しているだけです。

    ①return値によって、上位へ結果を知らせることができる
    ②このmainの実行環境は、return値を受け取って、メッセージの画面表示や、別プログラムの起動などを行う処理が用意されている(らしい)。


    このような体制が整っていないなら、exitで終了します。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

prwssさん

2019/4/2211:35:04

>このプログラムのreturn 0;はなぜついてるんですか?

最早答えは出ていますが、これは終了ステータスです

終了ステータス | UNIX & Linux コマンド・シェルスクリプト リファレンス
https://shellscript.sunone.me/exit_status.html

用語集:戻り値: UNIX/Linuxの部屋
http://x68000.q-e-d.net/~68user/unix/pickup?%CC%E1%A4%EA%C3%CD

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる