全站数据
8 4 2 0 5 8 1

%f是float和double都能用吗

财务经济 | 简单学习,快乐成才!         
问题更新日期:2024-10-20 14:14:38

问题描述

%f是float和double都能用吗希望能解答下
精选答案
最佳答案

%f说明符的确既可以输出float型又可以输出double型。

根据“默认参数提升”规则float型会被提升为double型.因此printf()只会看到双精度数.对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升.向float存储和向double存储大不一样,因此,scanf区别%f和%lf.

也就是说输出的时候不管输出的是双精度还是单精度都用%f就没错了,但是输入的时候,输入单精度要用%f而输入双精度要用%lf。