導関数を使って何かを行う単純な C プログラムを作成しようとしましたが、それは問題のポイントではありません: プログラムを実行すると、浮動小数点値の束を入力するように求められますが、何を入力しても問題ありません。 scanf 関数は常に変数に「ジャンク」値を割り当てます。コードは次のとおりです。
double a, b, c, d, x, h;
printf("Please enter the coefficient of X cubed: ");
scanf("%3f", &a);
printf("\nPlease enter the coefficient of X squared: ");
scanf("%3f", &b);
printf("\nPlease enter the coefficient of X: ");
scanf("%3f", &c);
printf("\nPlease enter the free coefficient: ");
scanf("%3f", &d);
printf("\nPlease enter x: ");
scanf("%3f", &x);
printf("\nPlease enter the offset: ");
scanf("%3f", &h);
printf("%.3f %.3f %.3f %.3f %.3f %.3f", a,b,c,d,x,h);
a、b、c、d、x、h の値を入力しましたが、printf 関数は、入力した値とはまったく異なる、非常に奇妙な値を示します。
考えられるあらゆる方法でグーグルで検索しましたが、それが発生する理由を見つけることができないようです。
誰かがなぜそれが起こるのかを理解しようとすることができますか?