一直在用C++,使用cin读入double类型,今天写了点C,突然发现从键盘读入double类型出错了。
代码如下:
double a; scanf("%f",&a); printf("%f\n",a);
输入的小数部分是乱码。
查了一下资料,原来是我把格式化输入搞错了。
printf 使用%f 可以输出 double 和 float 类型
但是 scanf 使用%f 读入 float 类型,使用 %lf 读入double类型
所以正确代码应是:
double a; scanf("%lf",&a); printf("%f\n",a);
记下,前车之鉴。
原文链接: https://www.cnblogs.com/JarvisChu/archive/2011/07/16/2752462.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/28754
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!