c语言,scanf和prtinf函数在输出输入flfloat用f,double则是lf,对吗?

Python019

c语言,scanf和prtinf函数在输出输入flfloat用f,double则是lf,对吗?,第1张

多写了个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就没有问题