一道令我困惑的C问题
main(){floaty=-789.124;printf("%10.2e\n",y);}为什么输出的是:-7.9e+02而不是-7.89e+02即应该有两位小数啊?答案...
main()
{float y=-789.124;
printf("%10.2e\n",y);
}
为什么输出的是: -7.9e+02
而不是 -7.89e+02即应该有两位小数啊?
答案书和上机后都是一位小数,有点搞不明白
恩,我用的是tc2.0 展开
{float y=-789.124;
printf("%10.2e\n",y);
}
为什么输出的是: -7.9e+02
而不是 -7.89e+02即应该有两位小数啊?
答案书和上机后都是一位小数,有点搞不明白
恩,我用的是tc2.0 展开
展开全部
浮点数(floating point number)
占用4byte
范围:3.4e + / - 38 (7 个数字(7digits)
4byte,它占用4个字节,所以要先前进一位
占用4byte
范围:3.4e + / - 38 (7 个数字(7digits)
4byte,它占用4个字节,所以要先前进一位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在我机子上是-7.89e+002,恐怕是C语言标准中忽漏了对%e的控制定义吧.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用的TC吧?试试printf("%10.3e\n", y);
在TC下这个.3是总位数的意思,不是有几位小数,10是整个字符串的宽度
在TC下这个.3是总位数的意思,不是有几位小数,10是整个字符串的宽度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将float 改为double试试。我调了一下你程序,在vc6上不能运行。将float改为double就和你说的一样了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询