关于浮点小数

来源:百度知道 编辑:UC知道 时间:2024/06/26 00:30:52
刚入门,写了个程序
#include<stdio.h>
void main()
{
float x,y;
scanf("%f%f",x,y);
printf("x=%f y=%f",x,y);
}
这样一个程序,如果本意是想输入3.56和89.5,但由于scanf中两个%f紧挨,如果输入3.5689.5为什么系统默认3.5689和0.5?

scanf的时候用空格或逗号分隔开吧,否则系统确定不了3.5689.5怎么分成两个数,所以就从遇到下一个小数点时,系统确定这已经不是上一个数了。对于计算机系统,如果小数点前面是0,这个0是可以省略的,也就是.5=0.5

如果你不分开的话,不管你怎么输,系统都会在最后一个小数点前面加一个零,然后输出0.*****。
因为系统无法判断两个数的界线
所以最好输完一个数按回车或Tab
或者scanf中的格式符之间加上逗号(或其他符号) 在输入的时候也打上逗号(或其他符号)这样就不会出错了