• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラムがmain関数から始まらない??)

プログラムがmain関数から始まらない??

このQ&Aのポイント
  • C言語初心者ですが、プログラムを実行した際にmain関数から始まらないことに疑問を感じました。
  • 関数a()の条件により、プログラムはa関数から始まることがわかりました。
  • a関数のreturn文が実行されてもプログラムが終了しない理由が知りたいです。

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

  • ベストアンサー
回答No.1

1. プログラムはmainから始まってますが、 i = a(); とした段階でa関数が呼ばれます。 その内部でprintf("yes1\n");を行っているので、main関数のprintf("i = %d\n", i);より前に出力されるのは当然です。 2. a関数でreturnしても、関数を抜けるだけです。 プログラムを終了するにはmain関数内でreturnする必要があります。 もしreturn 300の時点でプログラムを終了させたい場合は main関数内に i = a(); if(i==300) return; などと追加すれば終了すると思います。

manujer
質問者

お礼

なるほど。 迅速で大変わかりやすい回答、本当にありがとうございました。 おかげで疑問が解決できました。

関連するQ&A