main()関数の終了について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
cuser

main()関数の終了について

#1

投稿記事 by cuser » 16年前

終了コードを持たせるプログラムのとき
main()関数の終了はどのようにしていますか?

1.関数の型を int として return で終了する。
2.関数の型を int として exit() 関数で終了する。
3.関数の型を void として exit()関数で終了する。
4.その他

「一般的な方法である」、「慣例である」、「安全面を考えて」、
「公の機関で推奨されている、またははっきりと定義されている」など
そうしている理由も知りたいです。

ibis

Re:main()関数の終了について

#2

投稿記事 by ibis » 16年前

私は1ですね。
理由は、exitが必要な機会があまり無い、といったところでしょうか。
C++に慣れてるのもありますし。

ちなみにC++ではexitは良くないんですよ。
exitでは終了の際にデストラクタ(オブジェクトの解体をする関数)が呼び出されないのがその理由で、
この場合はthrowかreturnを使います。

初級者

Re:main()関数の終了について

#3

投稿記事 by 初級者 » 16年前

規格上、1番だと思います。

たかぎ

Re:main()関数の終了について

#4

投稿記事 by たかぎ » 16年前

私は1.か4.ですね。
ちなみに4.は、「返却型をintとし、return文を省略する」です。
C99やC++では、mainのreturn文を省略した場合、最後にreturn 0;を記述したのと同じになります。

cuser

Re:main()関数の終了について

#5

投稿記事 by cuser » 16年前

ありがとうございます。利用させていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る