- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:+NANってなんですか??)
C言語でコンパイル実行すると、全ての変数が『+NAN』と表示される問題
このQ&Aのポイント
- C言語でコンパイル実行すると、printfで表示する変数が全て『+NAN』と表示される問題が発生しています。
- 質問のコードでは、入力された値に基づいて計算を行い、変数の値を更新していますが、何かしらのエラーが発生しているため、全ての変数が『+NAN』となってしまっています。
- 具体的なエラーの原因や解決策については不明ですが、C言語の基本的なデータ型や演算子、制御構造などを再確認し、プログラムの修正が必要かもしれません。
- みんなの回答 (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 ということで書式を修正して再度試してみてください。
お礼
scanf() の書式が『%lf』だったのですね☆ 解決できました。 ありがとうございました。