您的位置:首页 > 其它

关于浮点数的尾数问题-[网摘收录]

2011-10-24 10:06 405 查看
网上的一个基础问题,原题如下:

#include <stdio.h>
int main()
{
  int a;
  float b;
  char c;
  scanf("%d%c%f", &a,&c,&b);
  printf("%d,%c,%f", a,c,b);
  return 0;
}
为什么这个程序输入1234r1234.567时,输出是1234,r,1234.567017后面的017是怎么回事??

网友最佳回答:

  浮点型默认是小数点后六位,虽然你的数据小数点后只有三位,但电脑会为它分配更多的内存地址,后面的多余三位是随机的数据是不确定的,因此换一次运行,结果不是017,也可能是170。你输出是需要限制小数点后的位数,具体参考一下教材。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: