- ベストアンサー
main文のreturnは0以外は何ができるの?
はじめまして。c初心者です。 main文の最後に書くreturnはreturn 0 の0を変えると、プログラムが終了した後、もう一度起動するみたいな話を聞いたことがあります。returnについて教えていただけませんか?よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- ekuko_ecch
- ベストアンサー率17% (16/91)
- jacta
- ベストアンサー率26% (845/3158)
- phoenix343
- ベストアンサー率15% (296/1946)
- t_nojiri
- ベストアンサー率28% (595/2071)
関連するQ&A
- C言語でmain関数でのreturnとexit
C言語でmain関数でのreturnとexitは同等とされてますが、 それは『プログラムを呼び出した元の動作』も同じですか? 例えばshellやOSから見て、割り当てメモリ開放などの点で returnで終了したプログラムの後処理と exitで終了したプログラムの後処理は 全く同じになりますか?
- ベストアンサー
- C・C++・C#
- main関数の戻り値について
c言語において、main関数の戻り値は何を意味しているのですか。 また、void型にすれば、main関数の戻り値を書かなくても問題無いでしょうか。 また、関数はreturn文を書かなくても、最後まで処理を実行すると終了するらしいですが、void型にすれば、main関数でreturn文を書かなくても問題無いでしょうか。
- 締切済み
- C・C++・C#
- returnの使い方
c言語初心者です。 returnを使って違う関数からはじめのmainのプログラムに戻したいのですが、引数の使い方がいまいちよくわかりません。 どなたか良い方法を教えてください。 よろしくおねがいします。
- ベストアンサー
- C・C++・C#
- main関数終了時のreturnの意味は?
質問の題名通り、main関数終了時のreturnの意味が知りたいです。いつもは参考書に書いてある通り、return 0とやっていたのですが、参考書のサンプルプログラムでreturn 1というのがでてきた為、少し混乱しました。 参考書に説明が載っていないのでmain関数内でのreturnの意味をご教授願いたいです。よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- プログラムがmain関数から始まらない??
C言語初心者です。よろしくお願いします。 return文について勉強している途中だったのですが、次のプログラムを実行してみたところ、わからないことが出てきたので質問させていただきました。(ほとんど自分で作ったプログラムではないです) #include <stdio.h> /* 関数a()はintを返すと指定 */ int a() { if (1) { /* ここで関数a()は終わります */ printf("yes1\n"); return 300; } pritnf("yes2\n"); /* ここは通りません */ printf("this is a()\n"); return 10; } int main() { int i; /* 関数a()の返り値を変数iに代入します */ i = a(); printf("i = %d\n", i); return 0; } このプログラムの出力結果は yes1 i = 300 となるのですが、 1.以前「main関数からプログラムは開始する」というようなことを学習したのですが、このプログラムではyes1が出力されていることからa関数からプログラムが始まっていませんか? 2.a関数のif文の中のreturn 300;でプログラムが終了しないのはなぜですか? 知識のある方、どうか教えてください。 よろしくお願いします。 ※ このプログラムを表示させる際、Tabキー及び半角では適度な空白スペースを作ることができなかったので、プログラムを見やすくするための空白スペースは全て全角スペースで作ってあります。(もしかしたら普通に表示させる方法があるのかもしれませんが、わかりませんでした。)
- ベストアンサー
- C・C++・C#
- 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以上でしたら、出口が塞がるのでろうぐらいしかわかりません!? どんなバクなのでしょうか!? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- return文について
C言語を独学で勉強中です。 最初から分からないのがあったので、質問させていただきます。 #include <stdio.h> main() { printf("Hello World!!\n"); return(0); } return(0)を記入しなくてもエラーはでないのに、 なぜ必要なんですか? 参考書には何も書いてないので分かりません。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- main()とint main(void)の違い
最初main()と習ったのですが、最近学校でmain()ではなくint main(void)を使うように なりました。 どのように違うのでしょうか? main関数のところに引数が入っている意味がわかりません。 (void)ってなんですか? そもそも引数って何ですか? あと、プログラムの最後にreturn(0)って書いてあるんですが、これはどういう意味ですか? 回答よろしくお願いします。
- ベストアンサー
- C・C++・C#
- main関数の戻り値
C言語のmain関数の戻り値はint型ですよね。 私もそういう決まりだと思って守ってきました。 しかし、「mainが戻り値を返すって、どこに返すの?」ということが、私は理解できていません。 私が調べたところでは、「ホスト実行環境」という言葉がこの問題に関係あるようですが、この言葉の意味はよくわからないですし、似た言葉で「ホスト環境」ということばがあるのですが意味も関係もわかりません。 これらは、OSとは違うと思うんですが、自信はありません。 それでも、ない知識を振り絞っていろいろ考えてみると、次のようなことらしいのですが、正しいでしょうか。 ・OSはプログラムの実行に先立ちホスト実行環境を作る。 ・静的記憶域のオブジェクトを初期化するのはホスト実行環境である。 ・関数が、main関数を呼ぶことは可能である。(以下では、main関数が関数から呼ばれる場合は除く。) ・main関数を呼ぶのは、ホスト実行環境が行なう。 ・main関数の中のreturnによってプログラムが終了するのと、exit関数でプログラムが終了することに違いはない。 ・main関数の戻り値は、ホスト実行環境に返される。 ・returnによってホスト実行環境に返される値は、int型である限りなんでもよい。 ・exitによってホスト実行環境に返される値は、int型である限りなんでもよい。 ・必ずexitで値が返されるならば、main関数の中にreturnはなくてもよい。 main関数からの戻り値をどうしようと構わないんだと思うんですが、皆さんの経験の中で、実例としてこういうふうに使われる、というのは何かないのでしょうか。 (ホスト実行環境に値が返される、といっても無視するのでは意味はないと思うのです。 その値の使用例としては、 0が返ってくると「プログラムは正常終了しました。」と表示するとか、0以外の値が返されると別のプログラムが走るとか、 そういうことだと思うんですが。)
- ベストアンサー
- C・C++・C#
- main.cpp以外のcppの追加について
VisualC++を使用し、プログラムを作っています。 そこでプログラムを整理しようと思うのですが、 main.cpp以外もcppを作成し、プログラムを分割することが可能ですよね? cppファイル自体は作ることができるのですが、 作った後どのようにしてmain文から呼び出し?をするのか具体的なことがわかりません。 どのようなワードで検索が引っ掛かるのかもわからないので 掲載しているHP、もしくはやり方を教えてください。 私自身理解が足りていないので、 説明もあやふやなものになっていますがよろしくお願いします。
- ベストアンサー
- C・C++・C#
お礼
詳しい説明ありがとうございました。 >>終了したらそのままです。 その通りですね。