问题补充说明:main(){double a;scanf("%lf",&a);printf("%lf\n",a); getch();}为什么这个double型不是有16位有效数字吗??为什么输入3.12121212 输出是3.121212???这跟float没区别啊???谢谢
你理解错咯
double的意思是可以听法效结歌正女有16位有效数字
而在固定格式输出的时候,都默认的是6位
用double的时候f前面加l是没有效果的
你要输出长度,可以写,%0.8f,这样就是输出8个有效数字了