在C语言中,输出双精度浮点数(double)时应使用%lf格式说明符。这一点非常重要,因为如果错误地使用%f格式说明符,可能会导致数据精度丢失或错误。在输入语句中使用格式说明符时,同样需要遵循这一规则,以确保正确读取双精度浮点数。例如,正确的输入语句应为:double num; scanf("%lf", &num);切记,...
double 必须用 lf
因此答案是%lf%f,或%lf%g。共1 个回答 qqq 资深元老 助教 2899天前 printf的%f说明符的确既可以输出float型又可以输出double型.根据“默认参数提升”规则float型会被提升为double型.因此printf()只会看到双精度数.对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升.向float存储和向double存储大不...
双精度double用 %lf 单精度float用%f 对于输出printf,因为有一个“默认参数提升”规则,float型会被提升为double型。因此printf只会看到双精度数。%f在这里的作用其实也有一个,默认显示小数点后6位