• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:+NANってなんですか??)

C言語でコンパイル実行すると、全ての変数が『+NAN』と表示される問題

このQ&Aのポイント
  • C言語でコンパイル実行すると、printfで表示する変数が全て『+NAN』と表示される問題が発生しています。
  • 質問のコードでは、入力された値に基づいて計算を行い、変数の値を更新していますが、何かしらのエラーが発生しているため、全ての変数が『+NAN』となってしまっています。
  • 具体的なエラーの原因や解決策については不明ですが、C言語の基本的なデータ型や演算子、制御構造などを再確認し、プログラムの修正が必要かもしれません。

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

NaNってのは Not a Number で、数じゃない浮動小数点数データのこと。 第5章 浮動小数点 http://web.hc.keio.ac.jp/~fujimura/2002/lang/lec-n5.html の 5.2 あたりを参照してください。 で、計算式のからくりはよくわからんのだけど、 double Vin,Vref,Vout,dv,P,I,PI,nextV,m; printf("input Vref : "); scanf("%f",&Vref); printf("\ninput Vin : "); scanf("%f",&Vin); printf("\ninput Vout : "); scanf("%f",&Vout); ここの scanf の書式指定は %lf でないとダメです。 >gcc -Wall nan.c nan.c: In function `main': nan.c:7: warning: float format, double arg (arg 2) nan.c:9: warning: float format, double arg (arg 2) nan.c:11: warning: float format, double arg (arg 2) nan.c:36:2: warning: no newline at end of file ということで書式を修正して再度試してみてください。

wan-doggy
質問者

お礼

scanf() の書式が『%lf』だったのですね☆ 解決できました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう