多写了个fl;
在C语言格式控制中,float用f,double则是lf,这是对的。
main(){ float a
double b
scanf("%f%lf",&a,&b)
printf("\na=%f,b=%lf",a,b)
}
不等价如果这么写 if(f1) 只要f1非0都是等价的
因为 非0即为真, if(f1==1) 指当f1等于1的时候条件才成立才为真。同样 if(f1==2) 指当f1等于2的时候条件才成立才为真.
如果写成if(f1) 则指 f1只要不等于0条件就成立
%1f %6.2f都是控制字符有一个统一的形式%m.n f
其中m必须大于n
意思是输出或输入的数一共有m位(不含小数点)
其中小数后有n位
如果实际数未超过则左端补空格
超过则按实际输出
比如%6.2f输出100.86和10010
就是输出
100.86(左边一个空格)
100.10(左边一个空格)
输出1234567.89
就是
1234567.89
而0.00005赋值给float和double型的a
都只需要a=0.00005
只需要考虑存储空间问题
double比float大
可以保存的位数多
在这里是没有问题的
但是把1234.56789这种数复制给float型的数就会造成误差了
这个时候使用double就没有问题