我试图编写一个简单的 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 函数显示的值非常奇怪——与我输入的完全不同。
我用我想到的所有可能的方式搜索了它,但我似乎无法找到它发生的原因。
有人可以尝试弄清楚它为什么会发生吗?