%lf 和 %f 有什么区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jolinxia/article/details/27963727

printf的%f说明符的确既可以输出float型又可以输出double型。根据“默认参数提升”规则float型会被提升为double型。因此printf()只会看到双精度数。对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。向float存储和向double存储大不一样,因此,scanf区别%f和%lf。      
也就是说输出的时候不管输出的是双精度还是单精度都用%f就没错了,但是输入的时候,输入单精度要用%f而输入双精度要用%lf

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页