• ベストアンサー

Cプログラムが終了しない

MacのOSXでMPWを使ってCのプログラミングを始めました。プログラムの最後にreturn 0;を入れているのに実行すると終了しないまま止まってしまいます(エラーは起っていないようです)。今は強制終了させていますが、なぜプログラムが終了しないのでしょうか。またMPWについて詳細に解説されているサイトなどありましたら教えて頂けませんか。

質問者が選んだベストアンサー

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんにちは C言語で、プログラムの最後にreturn 0;を書いてあっても、ここまでたどり着かなければ終了しないです。 どこかで、無限ループしていませんか。 forループ whileループ doループ gotoによるループ 等ですね。 ところどころにデバッグ用に puts("debug : コメント"); なんてものを仕込んで、プログラムの動作を確認して見ましょう。 まあ、ソースが小さければ補足して頂いてもかまいませんが。

grothendieck
質問者

補足

早速のご回答ありがとうございます。プログラムは非常に小さく、ループは含みません。下にプログラムの全文を示します。二つ目の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; }

その他の回答 (1)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

こんにちは、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; を削除してみてはいかがでしょうか?

grothendieck
質問者

お礼

ご回答ありがとうございます。どうやらMPWで作ったプログラムを走らせるとMPWが自動的に起動され、プログラムを終了させるにはMPWのメニューバーにあるFileでquitを選択しなければならないようです。

関連するQ&A