• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:実行結果の順番がおかしいんです・・・・・(。。;))

C言語のプログラム実行結果の順番がおかしい

このQ&Aのポイント
  • C言語のプログラム実行結果の順番がおかしいという問題が発生しています。具体的には、Borland C++ Compiler 5.5を使用している場合に、printf関数の出力がscanf関数の入力よりも先に表示されてしまうという現象が発生しています。
  • この問題に対する解決策としては、以下のような対応方法が考えられます。まず、Borland C++ Compiler 5.5を最新のバージョンにアップデートすることで、問題が解決する可能性があります。また、代替のCコンパイラを使用することも検討してみてください。
  • さらに、プログラムの実行結果の順番がおかしい原因として、コンパイラの最適化設定が関係している可能性も考えられます。最適化オプションを無効にすることで、問題が解消するかもしれません。詳細な手順は、Borland C++ Compiler 5.5のドキュメントやオンラインリソースを参考にしてください。

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

  • ベストアンサー
  • grape16
  • ベストアンサー率55% (52/93)
回答No.1

scanfの時点で"何か数字を入力してください:"がバッファにたまったままになっていて、実際には出力されてないのでしょう。 scanfの前に fflush(stdout); を入れると強制的にバッファの内容を吐き出すことができます。 参考URLの12.4のところを見てください。

参考URL:
http://www.kouno.jp/home/c_faq/c12.html
karasimentaiko
質問者

お礼

できました!!すごいですね♪(´▽`◎) ありがとうございましたm(__)m ・・・ちなみに、これは環境設定みたいなので毎回 scanfの前に fflush(stdout); を入れなくてすむ方法ってありませんかね?(?_?)

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • grape16
  • ベストアンサー率55% (52/93)
回答No.2

プログラムの最初の方(最初のprintfの前)に setbuf(stdout, NULL); を書いておくとstdoutへの出力はバッファにためずに出力されるようになります。

karasimentaiko
質問者

お礼

ご丁寧にどうもありがとうございました(^o^)/

すると、全ての回答が全文表示されます。

関連するQ&A