- ベストアンサー
Cプログラムが終了しない
MacのOSXでMPWを使ってCのプログラミングを始めました。プログラムの最後にreturn 0;を入れているのに実行すると終了しないまま止まってしまいます(エラーは起っていないようです)。今は強制終了させていますが、なぜプログラムが終了しないのでしょうか。またMPWについて詳細に解説されているサイトなどありましたら教えて頂けませんか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは C言語で、プログラムの最後にreturn 0;を書いてあっても、ここまでたどり着かなければ終了しないです。 どこかで、無限ループしていませんか。 forループ whileループ doループ gotoによるループ 等ですね。 ところどころにデバッグ用に puts("debug : コメント"); なんてものを仕込んで、プログラムの動作を確認して見ましょう。 まあ、ソースが小さければ補足して頂いてもかまいませんが。
その他の回答 (1)
- arukamun
- ベストアンサー率35% (842/2394)
こんにちは、No.1のarukamunです。 取りあえず、Windowsの環境でコンパイルして実行して見ましたが、ハングはしませんし、文法的にもハングする要因が見つかりません。 y=5 x=6 y=6 x=6 と表示して、正常に終了します。 もしかすると、Macでは int main() { ・・・ return 0 ; } とかがいけないのでしょうか。 int main(void) を void main(void) にして return 0; を削除してみてはいかがでしょうか?
お礼
ご回答ありがとうございます。どうやらMPWで作ったプログラムを走らせるとMPWが自動的に起動され、プログラムを終了させるにはMPWのメニューバーにあるFileでquitを選択しなければならないようです。
補足
早速のご回答ありがとうございます。プログラムは非常に小さく、ループは含みません。下にプログラムの全文を示します。二つ目のprintf文を実行後にプログラムが終了になりません。 #include <stdio.h> int main(void){ int y,x=5; y=x++; printf("y=%d x=%d\n",y,x); x=5; y=++x; printf("y=%d x=%d\n",y,x); return 0; }