为什么第一个scanf里%f间加逗号输入时就会跳过第二个scanf,而去掉逗号就不会了??

问题描述:

#include
#include
void main()
{
float a,b,c,d,f,f1,x0,x,t,z;
printf("请输入a,b,c的值:");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d printf("方程无解\n");
else
{
getchar();
printf("请输入x0的值:");
scanf("\n%f",&x0);
printf("\n");
f=a*x0*x0+b*x0+c;
f1=2*a*x0+b;
do
{
x=x0-f/f1;
x0=x;
t=x-x/1;
}
while(t>0.000001);
printf("方程的解为:%f",x);
}
system("pause");
}

看你怎么输入的,数字之间是不是输入了全角的中文的逗号。

老师就让我们一般来说scanf最好不要选用,隔开的方式;一是容易忘掉;而且操作来说输入时用空格和enter更符合人们习惯。程序更友好;
二就是可能输入了中文的逗号但没发现(笑哭)

scanf里面有三个%f,分隔符应是回车键,不是空格