有关C语言的,我是初学者

[复制链接]
查看11 | 回复4 | 2013-7-24 20:53:02 | 显示全部楼层 |阅读模式
楼上的回答是不对的。事实是这样的,d=a*b,实际上是用a的值10乘以b也就是字符'f'的ASCLL码值102,得到的值被默认转换为double型数据,是有15-16位有效位的,所以d的值是1020.000000000000 ,这点没有错。但是呢,因为printf函数输出的格式限制,注意了,格式要求输出“%f”格式,也就是浮点数。浮点数默认输出格式只能输出小数点后面6位。想要小数点后面有几位只要在输出格式里写就行了,比如“%.8f”就能输出小数点后面八位。 有帮助的话给个系统奖励吧~亲~...
回复

使用道具 举报

千问 | 2013-7-24 20:53:02 | 显示全部楼层
float,double 默认的有效位置是 6位如果 你想输出15位可以这么改printf("%15f",d);...
回复

使用道具 举报

千问 | 2013-7-24 20:53:02 | 显示全部楼层
printf打印默认是小数点后6位有效数字,...
回复

使用道具 举报

千问 | 2013-7-24 20:53:02 | 显示全部楼层
有效数字是15~16但是输出有限...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行