c语言 printf 输出double %lf,C++玄学问题 关于printf输出double类型显示0.000000的原因...
根据"默认参数提升"规则(在printf这样的函数的可变参数列表中 ,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf。(编译器选用 dev c++ 或者 vs code 在C++中按 %lf 输出double类型均可正确输出,而codeblocks 17.12选用C++会输出0.000000)为什么printf()用%f输出double型,而scanf却用%lf呢?
原创
2024-01-24 15:02:13 ·
1767 阅读 ·
0 评论