https://oshiete.goo.ne.jp/qa/8940272.html
以上プログラムで
11行目から14行目までは「ストリームの生成」だそうです。
fp = fopen(argv[1], "r");
if ( fp == NULL ){
printf("fopen dekinai\n");
return -2;
以上で
質問1
returnの-2;にしないとだめな理由は何でしょうか?
質問2
もし、return-2;の-2 を他の数字にした場合、行数のカウントは可能でしょうか!?
試したいのですが、簡単にできる環境がございません_ _
全国の皆様よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
異常終了の原因を区別するためでしょう
大規模なシステムの場合だと、処理が複数のプログラムに分散されることが多いので、
スクリプトなりジョブ管理システムなりで、プログラムの呼び出しを管理することになります。
この様な場合はプログラム毎に実行結果を判断して、
異常発生ならば原因毎に特有の後始末を行わなければいけません。
この実行結果を判断する目的で、大抵のプログラムには終了ステータスの機能が備わっており、
C言語にも main 関数の return 文として仕様に盛り込まれています。
ご提示の例ですと、
終了ステータスが 0 なら、正常終了
終了ステータスが -1 なら、「引数が足りない」 の後始末をする
終了ステータスが -2 なら、「変なのを指定するな」 の後始末をする
というように、呼び出し側にて管理することができます。
単体で動くプログラムなら管理の必要はありませんが、
細かく決めた終了ステータスはデバッグ時に有益な情報源にもなりますので、
習慣として指定することをオススメします。
というわけで
質問1: -2 の理由
特に無いが、管理のために決まったルールがあるなら従うこと
質問2: -2 を他の数字にした場合
何の問題もない
ご回答誠にありがとうございました。
プログラムの”いろは”が少しわかりました。
めげずに頑張ります。
今後ともよろしくお願いいたします。
No.1
- 回答日時:
> returnの-2;にしないとだめな理由は何でしょうか?
特にない。別の整数値でもかまわない。ただし、0 はプログラムが正常終了したと取られるからこの場合はだめだし、argc が 2 の場合とはプログラムが続けられない理由が違うからこのときの return の値とは別の値にしたほうがいい。
……というか、前に参考 URL にしたこのページちゃんと読みました?
http://www.geekpage.jp/programming/c/return-main …
あと、
> 試したいのですが、簡単にできる環境がございません_ _
って、前に GCC とか Visual C++ とかのインストール方法を聞いてたけど、それを使えばいいじゃないですか。それはどうなったんですか?
お返事が遅れまして申し訳ございませんでした。
-2は特に決まりはない・・わかりました。
以下で
CC とか Visual C++ とかのインストール方法を聞いてたけど、それを使えばいいじゃないですか。
ですが、
インストールはしていますが!いまいち使い方が分かりません?
だいぶやりましたが_ _
ユーチューブあたりで探してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
画像を読み込むのと取り込むの...
-
WORD印刷できるがEXCE...
-
VBAでユーザーフォームが自動的...
-
自動クエリとはどういうもので...
-
常駐プログラム
-
読み込み中にアクセス違反が発...
-
モジュール、アプリケーション...
-
バッチ、vbs等でのソフトウェア...
-
べき乗
-
VBAを使って、pdfを関連付けら...
-
2次関数の最小値をC言語と遺...
-
未使用の変数を一括検索する方法
-
Vba UserFormを前面に出す方法...
-
「Outlookが他のプログラムによ...
-
UWSCで指定のフォルダを開きたい。
-
PICマイコンのコピー(クローン...
-
クリックするとページ内で説明...
-
VB6のWScript.Shellについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
ゲーミングPCに入っているAlris...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
自動クエリとはどういうもので...
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
「Outlookが他のプログラムによ...
-
Excelに埋め込んだVBAのプログ...
-
VBAでユーザーフォームが自動的...
-
XnViewにwebpを「いつも開く」...
-
画像を読み込むのと取り込むの...
-
ドロップダウンリストの文字を...
-
CASLIIのプログラム(並び替え...
-
binファイルってiphone専用です...
-
モジュール、アプリケーション...
-
excelのexe化について
-
未使用の変数を一括検索する方法
-
クリックするとページ内で説明...
-
Vba UserFormを前面に出す方法...
おすすめ情報