※ ChatGPTを利用し、要約された質問です(原文:+NANってなんですか??)
C言語でコンパイル実行すると、全ての変数が『+NAN』と表示される問題
このQ&Aのポイント
C言語でコンパイル実行すると、printfで表示する変数が全て『+NAN』と表示される問題が発生しています。
質問のコードでは、入力された値に基づいて計算を行い、変数の値を更新していますが、何かしらのエラーが発生しているため、全ての変数が『+NAN』となってしまっています。
具体的なエラーの原因や解決策については不明ですが、C言語の基本的なデータ型や演算子、制御構造などを再確認し、プログラムの修正が必要かもしれません。
以下のコードをコンパイル実行すると、printfで表示する変数が全て『+NAN』と表示されます。
-------------------------------
#include<stdio.h>
int main(void){
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);
dv=0;
P=0;
I=0;
m=0;
nextV=0;
printf("dv | P | I | PI | nextV | m | Vout |\n");
for(;;){
dv=Vref-Vout;
printf("%f ",dv);
P=dv*0.1;
printf("%f ",P);
I=I+dv*0.01;
printf("%f ",I);
PI=P + I;
printf("%f ",PI);
nextV = Vout + PI;
printf("%f ",nextV);
m=nextV/(Vin * 7.2);
printf("%f ",m);
Vout = nextV + 2;
printf("%f \n",Vout);
}
return 0;
}
-------------------------
なにがなんだか、何がNANだかわかりません(涙
よろしくお願いします。
お礼
scanf() の書式が『%lf』だったのですね☆ 解決できました。 ありがとうございました。